Control method for tintable windows

ABSTRACT

Methods of controlling tint of a tintable window to account for occupant comfort in a room of a building. Some methods include receiving weather feed data from one or more weather services (or other data sources) over a communication network, determining a weather condition based on the weather feed data, and determining a tint level for the tintable window based on the weather condition and based on whether a current time is within a time delay period at sunrise or sunset.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims benefit of U.S. Provisional Patent ApplicationNo. 62/189,673, titled “CONTROL METHOD FOR TINTABLE WINDOWS” and filedon Jul. 7, 2015, which is hereby incorporated by reference in itsentirety and for all purposes. This application is also acontinuation-in-part of international PCT application PCT/US2015/029675,titled “CONTROL METHOD FOR TINTABLE WINDOWS” and filed on May 7, 2015,which claims benefit of U.S. Provisional Patent Application No.61/991,375 titled “CONTROL METHOD FOR TINTABLE WINDOWS,” filed May 9,2014, and is a continuation-in-part of U.S. patent application Ser. No.13/772,969 titled “CONTROL METHOD FOR TINTABLE WINDOWS,” filed on Feb.21, 2013; all of which are hereby incorporated by reference in theirentirety and for all purposes.

FIELD

The embodiments disclosed herein relate generally to window controllersand related control logic for implementing methods of controlling tintand other functions of tintable windows (e.g., electrochromic windows).

BACKGROUND

Electrochromism is a phenomenon in which a material exhibits areversible electrochemically-mediated change in an optical property whenplaced in a different electronic state, typically by being subjected toa voltage change. The optical property is typically one or more ofcolor, transmittance, absorbance, and reflectance. One well knownelectrochromic material is tungsten oxide (WO₃). Tungsten oxide is acathodic electrochromic material in which a coloration transition,transparent to blue, occurs by electrochemical reduction.

Electrochromic materials may be incorporated into, for example, windowsfor home, commercial and other uses. The color, transmittance,absorbance, and/or reflectance of such windows may be changed byinducing a change in the electrochromic material, that is,electrochromic windows are windows that can be darkened or lightenedelectronically. A small voltage applied to an electrochromic device ofthe window will cause them to darken; reversing the voltage causes themto lighten. This capability allows control of the amount of light thatpasses through the windows, and presents an opportunity forelectrochromic windows to be used as energy-saving devices.

While electrochromism was discovered in the 1960s, electrochromicdevices, and particularly electrochromic windows, still unfortunatelysuffer various problems and have not begun to realize their fullcommercial potential despite many recent advances in electrochromictechnology, apparatus and related methods of making and/or usingelectrochromic devices.

SUMMARY

Systems, methods, and apparatus for controlling transitions ofelectrochromic windows and other tintable windows to different tintlevels are provided. Generally, embodiments include control logic forimplementing methods of controlling tint levels of electrochromicwindows or other tintable windows. Typically, the control logic can beused in a building or other architecture having one or moreelectrochromic windows located between the interior and exterior of thebuilding. The windows may have different configurations. For example,some may be vertical windows in offices or lobbies and others may beskylights in hallways. More particularly, disclosed embodiments includecontrol logic that implement methods for determining tint levels for oneor more tintable windows that account for occupant comfort. In somecases, certain methods can determine a tint level for a tintable windowthat is appropriate at a time in the future, for example, to allow fortransition time to the tint level.

Occupant comfort has to do with reducing direct glare and/or totalradiant energy directed onto an occupant or the occupant's area ofactivity. In some cases, the comfort also has to do with allowingsufficient natural lighting into the area. The control logic may alsomake use of considerations for energy conservation. In a particularimplementation, control logic may include one or more modules with atleast one of the modules being associated with occupant comfortconsiderations. One or more of the modules may be concerned with energyconsumption as well.

In one aspect, one or more modules of the control logic may determine atint level that is determined based on occupant comfort from directsunlight or glare on the occupant or their activity area such as theirdesk. These modules may determine how far into the room the sunlightpenetrates at a particular instant in time. The modules may thendetermine an appropriate tint level that will transmit the level oflight that will be comfortable to the occupant.

In another aspect, one or more modules of the control logic may modifythe tint level determined based on occupant comfort to also take intoaccount energy considerations from calculated irradiance under clear skyconditions. In this aspect, the tint level may be darkened to make surethat it performs at least as well as a reference window required in thebuilding as specified by the local municipality codes or standards. Themodified tint level will provide at least as much energy savings incooling as the reference window. In some cases, the tint level may belightened instead to provide energy savings in heating.

In yet another aspect, one or more modules of the control logic maymodify the tint level determined based on occupant comfort andcalculated clear sky irradiance to account for actual irradiance. Theactual irradiance may be different than the calculated irradianceirradiance due to obstructions and reflection of light. A photosensor orother sensor that can measure radiation levels can be used to determinethe actual irradiance. These one or more modules determine the lightesttint level that transmits as much or less light into the room than thetint level determined based on occupant comfort and calculated clear skyirradiance.

One embodiment is a method of controlling tint of a tintable window toaccount for occupant comfort in a room of a building. The tintablewindow is located between the interior and exterior of the building. Themethod determines an appropriate tint level for the tintable window at afuture time based on a penetration depth of sunlight through thetintable window into the room at the future time and space type in theroom. The method provides instructions over a network to transition tintof the tintable window to the tint level.

Another embodiment is a controller for controlling tint of a tintablewindow to account for occupant comfort in a room of a building. Thetintable window is located between the interior and exterior of thebuilding. The controller comprises a processor configured to determine atint level for the tintable window based on a penetration depth ofdirect sunlight through the tintable window into a room and space typein the room. The controller also comprises a pulse width modulator(“PWM”) in communication with the processor and with the tintable windowover a network. The pulse width modulator is configured to receive thetint level from the processor and send a signal with tint instructionsover the network to transition the tint of the tintable window to thedetermined tint level.

Another embodiment is a master controller for controlling tint of atintable window to account for occupant comfort in a building. Thetintable window is located between the interior and exterior of thebuilding. The master controller comprises a computer readable medium anda processor in communication with the computer readable medium and incommunication with a local window controller for the tintable window.The computer readable medium has a configuration file with a space typeassociated with the tintable window. The processor is configured toreceive the space type from the computer readable medium, determine atint level for the tintable window based on a penetration depth ofdirect sunlight through the tintable window into a room and the spacetype, and send tint instructions over a network to the local windowcontroller to transition tint of the tintable window to the determinedtint level.

Another embodiment is a method of controlling tint of one or moretintable windows in a zone of a building to account for occupantcomfort. The method calculates a future time based on a current time andbased on a calculated transition time of a representative window of thezone. The method also calculates a solar position at the future time anddetermines a program designated by a user in schedule. The programincludes logic for determining a tint level based on one or moreindependent variables. The method also employs the determined program todetermining the tint level based on the calculated solar position at thefuture time and occupant comfort. The method also communicatesinstructions to the one or more tintable windows to transition tint tothe determined tint level.

Another embodiment is a window controller for controlling tint of one ormore tintable windows in a zone of a building to account for occupantcomfort. The window controller comprises a computer readable mediumhaving control logic, and site data and zone/group data associated withthe zone. The window controller further comprises a processor incommunication with the computer readable medium and in communicationwith the tintable window. The processor is configured to calculate afuture time based on a current time and a calculated transition time ofa representative window of the zone. The processor is also configured tocalculate a solar position at the future time and determine a programdesignated by a user in a schedule. The program includes logic fordetermining a tint level based on one or more independent variables. Theprocessor is also configured to employ the determined program todetermine a tint level using the calculated solar position at the futuretime and based on occupant comfort. The processor is also configured tocommunicate instructions to the one or more tintable windows in the zoneto transition tint to the determined tint level.

Certain aspects pertain to control methods of controlling tint of atintable window. The methods comprise receiving weather feed data fromone or more weather services (or other data sources) over acommunication network and determining a weather condition based on theweather feed data. The methods further comprise, if a current time iswithin in a time delay period at sunrise or sunset, determining a tintlevel for the tintable window based on the weather condition. Themethods further comprise sending a tint command to transition thetintable window to the tint level. In some cases, the methods furthercomprise calculating a solar azimuthal angle based on the current timeand the latitude and longitude of a building having the tintable window.In some cases, the weather condition is determined based on whether thecloud coverage percentage is above a threshold, for example, the weathercondition may be a cloudy condition if it is determined that the cloudcoverage percentage is above the threshold, and the weather conditionmay be a not cloudy condition if it is determined that the cloudcoverage percentage is at or below the threshold.

Certain aspects pertain to control methods for controlling tint of atintable window to account for occupancy comfort in a building with thetintable window. The control methods comprise if a current time isbefore a sunrise time or after a time delay after a sunrise time, thendetermining whether a light sensor reading is between a lower limit andan upper limit, and if the light sensor reading is between a lower limitand an upper limit, determining an end tint level based on sunlightpenetration and/or clear sky irradiance calculation, and if the lightsensor reading is not between a lower limit and an upper limit,determining the end tint level based on the light sensor reading. If thecurrent time is after the sunrise time and before the time delay afterthe sunrise time or the tintable window is in a demo mode, determiningwhether it is a cloudy condition or a not cloudy condition based onweather feed data received from one or more weather services (or otherdata sources) over a communication network, wherein if it is determinedto be the cloudy condition, then setting the end state to a clear stateand wherein if it is determined to be the not cloudy condition, thendetermining the end state based on a predicted sunlight penetrationand/or a clear sky prediction.

Certain aspects are directed to controllers for controlling tint of atintable window to account for occupancy comfort in a building havingthe tintable window, the controller comprising. The controllers comprisean interface with a communication network and a processor a processor incommunication with the interface. The processor is configured to executeinstructions to determine whether a current time is before a sunrisetime or after a time delay after the sunrise time. If the current timeis determined to be before the sunrise time or after the time delayafter the sunrise time, the processor determines whether a light sensorreading received from a light sensor is between a lower limit and anupper limit, wherein if the light sensor reading is between a lowerlimit and an upper limit, the processor determines an end tint levelbased on direct sunlight penetration and/or clear sky prediction, and ifthe light sensor reading is not between a lower limit and an upperlimit, the processor determines the end tint level based on the lightsensor reading. If the current time is determined to be after thesunrise time and before the time delay after the sunrise time or thetintable window is in a demo mode, the processor determines whether itis a cloudy condition or a not cloudy condition based on weather feeddata received from one or more weather services (or other data sources)over the communication network, wherein the processor determines it tobe the cloudy condition, the processor sets the end state to a clearstate and wherein if the processor determines it to be the not cloudycondition, then the processor determines the end state based on apredicted sunlight penetration and/or a clear sky prediction.

These and other features and embodiments will be described in moredetail below with reference to the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A depicts a schematic cross-section of an electrochromic device.

FIG. 1B depicts a schematic cross-section of an electrochromic device ina bleached state (or transitioning to a bleached state).

FIG. 1C depicts a schematic cross-section of the electrochromic deviceshown in FIG. 1B, but in a colored state (or transitioning to a coloredstate).

FIG. 2 depicts a simplified block diagram of components of a windowcontroller.

FIG. 3 depicts a schematic diagram of a room including a tintable windowand at least one sensor, according to disclosed embodiments.

FIGS. 4A-4C include diagrams depicting information collected by each ofthree Modules A, B, and C of an exemplary control logic, according todisclosed embodiments.

FIG. 5 is a flowchart showing some operations of control logic for amethod of controlling one or more electrochromic windows in a building,according to disclosed embodiments.

FIG. 6 is a flowchart showing a particular implementation of a portionof the control logic shown in FIG. 5.

FIG. 7 is a flowchart showing details of Module A according to disclosedembodiments.

FIG. 8 is an example of an occupancy lookup table according to disclosedembodiments.

FIG. 9A depicts a schematic diagram of a room including anelectrochromic window with a space type based on a Desk 1 located nearthe window, according to disclosed embodiments.

FIG. 9B depicts a schematic diagram of a room including anelectrochromic window with a space type based on a Desk 2 locatedfurther away from the window than in FIG. 9A, according to disclosedembodiments.

FIG. 10 is a diagram showing another implementation of a portion of thecontrol logic shown in FIG. 5.

FIG. 11 depicts a schematic diagram of an embodiment of a buildingmanagement system.

FIG. 12 is a block diagram of components of a system for controllingfunctions of one or more tintable windows of a building.

FIG. 13 is an example of an occupancy lookup table and a schematicdiagram of a room with a desk and window showing the relationshipbetween acceptance angle, sun angle, and penetration depth, according toembodiments.

FIG. 14A is a flowchart showing a particular implementation of a portionof the control logic shown in FIG. 5.

FIG. 14B is a graph of illumination readings during a day that is cloudyearly in the day and then sunny later in the day and the correspondingupper and lower limits.

FIG. 15 depicts a room having a desk and the critical angle of the roomwithin which the sun is shining onto an occupant sitting at the desk

FIG. 16 is a flowchart showing a particular implementation of thecontrol logic shown in FIG. 5, according to an embodiment.

FIG. 17 is a flowchart showing a particular implementation of thecontrol logic shown in FIG. 5, according to an embodiment.

FIG. 18 is a flowchart showing a particular implementation of thecontrol logic shown in FIG. 5, according to an embodiment.

FIG. 19 is a flowchart showing a particular implementation of thecontrol logic shown in FIG. 5, according to an embodiment.

FIG. 20 is a flowchart showing a particular implementation of thecontrol logic shown in FIG. 5, according to an embodiment.

FIG. 21 is a flowchart of the operations within Module C2 of theflowchart in FIG. 20, according to an embodiment.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth inorder to provide a thorough understanding of the presented embodiments.The disclosed embodiments may be practiced without some or all of thesespecific details. In other instances, well-known process operations havenot been described in detail to not unnecessarily obscure the disclosedembodiments. While the disclosed embodiments will be described inconjunction with the specific embodiments, it will be understood that itis not intended to limit the disclosed embodiments.

I. Overview of Electrochromic Devices

It should be understood that while disclosed embodiments focus onelectrochromic windows (also referred to as smart windows), the conceptsdisclosed herein may apply to other types of tintable windows. Forexample, a tintable window incorporating a liquid crystal device or asuspended particle device, instead of an electrochromic device could beincorporated in any of the disclosed embodiments.

In order to orient the reader to the embodiments of systems, windowcontrollers, and methods disclosed herein, a brief discussion ofelectrochromic devices is provided. This initial discussion ofelectrochromic devices is provided for context only, and thesubsequently described embodiments of systems, window controllers, andmethods are not limited to the specific features and fabricationprocesses of this initial discussion.

FIG. 1A schematically depicts an electrochromic device 300, incross-section. Electrochromic device 300 includes a substrate 302, afirst conductive layer (CL) 304, an electrochromic layer (EC) 306, anion conducting layer (IC) 308, a counter electrode layer (CE) 310, and asecond conductive layer (CL) 314. Layers 304, 306, 308, 310, and 314 arecollectively referred to as an electrochromic stack 320. A voltagesource 316 operable to apply an electric potential across electrochromicstack 320 effects the transition of the electrochromic device from, forexample, a bleached state to a colored state (depicted). The order oflayers can be reversed with respect to the substrate.

Electrochromic devices having distinct layers as described can befabricated as all solid state devices and/or all inorganic deviceshaving low defectivity. Such devices and methods of fabricating them aredescribed in more detail in U.S. patent application Ser. No. 12/645,111,titled “Fabrication of Low-Defectivity Electrochromic Devices,” filed onDec. 22, 2009, and naming Mark Kozlowski et al. as inventors, and inU.S. patent application Ser. No. 12/645,159, titled, “ElectrochromicDevices,” filed on Dec. 22, 2009 and naming Zhongchun Wang et al. asinventors, both of which are hereby incorporated by reference in theirentireties. It should be understood, however, that any one or more ofthe layers in the stack may contain some amount of organic material. Thesame can be said for liquids that may be present in one or more layersin small amounts. It should also be understood that solid state materialmay be deposited or otherwise formed by processes employing liquidcomponents such as certain processes employing sol-gels or chemicalvapor deposition.

Additionally, it should be understood that the reference to a transitionbetween a bleached state and colored state is non-limiting and suggestsonly one example, among many, of an electrochromic transition that maybe implemented. Unless otherwise specified herein (including theforegoing discussion), whenever reference is made to a bleached-coloredtransition, the corresponding device or process encompasses otheroptical state transitions such as non-reflective-reflective,transparent-opaque, etc. Further, the term “bleached” refers to anoptically neutral state, for example, uncolored, transparent, ortranslucent. Still further, unless specified otherwise herein, the“color” of an electrochromic transition is not limited to any particularwavelength or range of wavelengths. As understood by those of skill inthe art, the choice of appropriate electrochromic and counter electrodematerials governs the relevant optical transition.

In embodiments described herein, the electrochromic device reversiblycycles between a bleached state and a colored state. In some cases, whenthe device is in a bleached state, a potential is applied to theelectrochromic stack 320 such that available ions in the stack resideprimarily in the counter electrode 310. When the potential on theelectrochromic stack is reversed, the ions are transported across theion conducting layer 308 to the electrochromic material 306 and causethe material to transition to the colored state. In a similar way, theelectrochromic device of embodiments described herein can be reversiblycycled between different tint levels (e.g., bleached state, darkestcolored state, and intermediate levels between the bleached state andthe darkest colored state).

Referring again to FIG. 1A, voltage source 316 may be configured tooperate in conjunction with radiant and other environmental sensors. Asdescribed herein, voltage source 316 interfaces with a device controller(not shown in this figure). Additionally, voltage source 316 mayinterface with an energy management system that controls theelectrochromic device according to various criteria such as the time ofyear, time of day, and measured environmental conditions. Such an energymanagement system, in conjunction with large area electrochromic devices(e.g., an electrochromic window), can dramatically lower the energyconsumption of a building.

Any material having suitable optical, electrical, thermal, andmechanical properties may be used as substrate 302. Such substratesinclude, for example, glass, plastic, and mirror materials. Suitableglasses include either clear or tinted soda lime glass, including sodalime float glass. The glass may be tempered or untempered.

In many cases, the substrate is a glass pane sized for residentialwindow applications. The size of such glass pane can vary widelydepending on the specific needs of the residence. In other cases, thesubstrate is architectural glass. Architectural glass is typically usedin commercial buildings, but may also be used in residential buildings,and typically, though not necessarily, separates an indoor environmentfrom an outdoor environment. In certain embodiments, architectural glassis at least 20 inches by 20 inches, and can be much larger, for example,as large as about 80 inches by 120 inches. Architectural glass istypically at least about 2 mm thick, typically between about 3 mm andabout 6 mm thick. Of course, electrochromic devices are scalable tosubstrates smaller or larger than architectural glass. Further, theelectrochromic device may be provided on a mirror of any size and shape.

On top of substrate 302 is conductive layer 304. In certain embodiments,one or both of the conductive layers 304 and 314 is inorganic and/orsolid. Conductive layers 304 and 314 may be made from a number ofdifferent materials, including conductive oxides, thin metalliccoatings, conductive metal nitrides, and composite conductors.Typically, conductive layers 304 and 314 are transparent at least in therange of wavelengths where electrochromism is exhibited by theelectrochromic layer. Transparent conductive oxides include metal oxidesand metal oxides doped with one or more metals. Examples of such metaloxides and doped metal oxides include indium oxide, indium tin oxide,doped indium oxide, tin oxide, doped tin oxide, zinc oxide, aluminumzinc oxide, doped zinc oxide, ruthenium oxide, doped ruthenium oxide andthe like. Since oxides are often used for these layers, they aresometimes referred to as “transparent conductive oxide” (TCO) layers.Thin metallic coatings that are substantially transparent may also beused, as well as combinations of TCOs and metallic coatings.

The function of the conductive layers is to spread an electric potentialprovided by voltage source 316 over surfaces of the electrochromic stack320 to interior regions of the stack, with relatively little ohmicpotential drop. The electric potential is transferred to the conductivelayers though electrical connections to the conductive layers. In someembodiments, bus bars, one in contact with conductive layer 304 and onein contact with conductive layer 314, provide the electric connectionbetween the voltage source 316 and the conductive layers 304 and 314.The conductive layers 304 and 314 may also be connected to the voltagesource 316 with other conventional means.

Overlaying conductive layer 304 is electrochromic layer 306. In someembodiments, electrochromic layer 306 is inorganic and/or solid. Theelectrochromic layer may contain any one or more of a number ofdifferent electrochromic materials, including metal oxides. Such metaloxides include tungsten oxide (WO₃), molybdenum oxide (MoO₃), niobiumoxide (Nb₂O₅), titanium oxide (TiO₂), copper oxide (CuO), iridium oxide(Ir2O₃), chromium oxide (Cr₂O₃), manganese oxide (Mn₂O₃), vanadium oxide(V₂O₅), nickel oxide (Ni₂O₃), cobalt oxide (Co₂O₃) and the like. Duringoperation, electrochromic layer 306 transfers ions to and receives ionsfrom counter electrode layer 310 to cause optical transitions.

Generally, the colorization (or change in any optical property—e.g.,absorbance, reflectance, and transmittance) of the electrochromicmaterial is caused by reversible ion insertion into the material (e.g.,intercalation) and a corresponding injection of a charge balancingelectron. Typically some fraction of the ions responsible for theoptical transition is irreversibly bound up in the electrochromicmaterial. Some or all of the irreversibly bound ions are used tocompensate “blind charge” in the material. In most electrochromicmaterials, suitable ions include lithium ions (Li+) and hydrogen ions(H+) (that is, protons). In some cases, however, other ions will besuitable. In various embodiments, lithium ions are used to produce theelectrochromic phenomena. Intercalation of lithium ions into tungstenoxide (WO_(3-y)) (0<y≤˜0.3)) causes the tungsten oxide to change fromtransparent (bleached state) to blue (colored state).

Referring again to FIG. 1A, in electrochromic stack 320, ion conductinglayer 308 is sandwiched between electrochromic layer 306 and counterelectrode layer 310. In some embodiments, counter electrode layer 310 isinorganic and/or solid. The counter electrode layer may comprise one ormore of a number of different materials that serve as a reservoir ofions when the electrochromic device is in the bleached state. During anelectrochromic transition initiated by, for example, application of anappropriate electric potential, the counter electrode layer transferssome or all of the ions it holds to the electrochromic layer, changingthe electrochromic layer to the colored state. Concurrently, in the caseof NiWO, the counter electrode layer colors with the loss of ions.

In some embodiments, suitable materials for the counter electrodecomplementary to WO₃ include nickel oxide (NiO), nickel tungsten oxide(NiWO), nickel vanadium oxide, nickel chromium oxide, nickel aluminumoxide, nickel manganese oxide, nickel magnesium oxide, chromium oxide(Cr₂O₃), manganese oxide (MnO₂), and Prussian blue.

When charge is removed from a counter electrode 310 made of nickeltungsten oxide (that is, ions are transported from counter electrode 310to electrochromic layer 306), the counter electrode layer willtransition from a transparent state to a colored state.

In the depicted electrochromic device, between electrochromic layer 306and counter electrode layer 310, there is the ion conducting layer 308.Ion conducting layer 308 serves as a medium through which ions aretransported (in the manner of an electrolyte) when the electrochromicdevice transitions between the bleached state and the colored state.Preferably, ion conducting layer 308 is highly conductive to therelevant ions for the electrochromic and the counter electrode layers,but has sufficiently low electron conductivity that negligible electrontransfer takes place during normal operation. A thin ion conductinglayer with high ionic conductivity permits fast ion conduction and hencefast switching for high performance electrochromic devices. In certainembodiments, the ion conducting layer 308 is inorganic and/or solid.

Examples of suitable ion conducting layers (for electrochromic deviceshaving a distinct IC layer) include silicates, silicon oxides, tungstenoxides, tantalum oxides, niobium oxides, and borates. These materialsmay be doped with different dopants, including lithium. Lithium dopedsilicon oxides include lithium silicon-aluminum-oxide. In someembodiments, the ion conducting layer comprises a silicate-basedstructure. In some embodiments, a silicon-aluminum-oxide (SiAlO) is usedfor the ion conducting layer 308.

Electrochromic device 300 may include one or more additional layers (notshown), such as one or more passive layers. Passive layers used toimprove certain optical properties may be included in electrochromicdevice 300. Passive layers for providing moisture or scratch resistancemay also be included in electrochromic device 300. For example, theconductive layers may be treated with anti-reflective or protectiveoxide or nitride layers. Other passive layers may serve to hermeticallyseal electrochromic device 300.

FIG. 1B is a schematic cross-section of an electrochromic device in ableached state (or transitioning to a bleached state). In accordancewith specific embodiments, an electrochromic device 400 includes atungsten oxide electrochromic layer (EC) 406 and a nickel-tungsten oxidecounter electrode layer (CE) 410. Electrochromic device 400 alsoincludes a substrate 402, a conductive layer (CL) 404, an ion conductinglayer (IC) 408, and conductive layer (CL) 414.

A power source 416 is configured to apply a potential and/or current toan electrochromic stack 420 through suitable connections (e.g., busbars) to the conductive layers 404 and 414. In some embodiments, thevoltage source is configured to apply a potential of a few volts inorder to drive a transition of the device from one optical state toanother. The polarity of the potential as shown in FIG. 1A is such thatthe ions (lithium ions in this example) primarily reside (as indicatedby the dashed arrow) in nickel-tungsten oxide counter electrode layer410

FIG. 1C is a schematic cross-section of electrochromic device 400 shownin FIG. 3B but in a colored state (or transitioning to a colored state).In FIG. 1C, the polarity of voltage source 416 is reversed, so that theelectrochromic layer is made more negative to accept additional lithiumions, and thereby transition to the colored state. As indicated by thedashed arrow, lithium ions are transported across ion conducting layer408 to tungsten oxide electrochromic layer 406. Tungsten oxideelectrochromic layer 406 is shown in the colored state. Nickel-tungstenoxide counter electrode 410 is also shown in the colored state. Asexplained, nickel-tungsten oxide becomes progressively more opaque as itgives up (deintercalates) lithium ions. In this example, there is asynergistic effect where the transition to colored states for bothlayers 406 and 410 are additive toward reducing the amount of lighttransmitted through the stack and substrate.

As described above, an electrochromic device may include anelectrochromic (EC) electrode layer and a counter electrode (CE) layerseparated by an ionically conductive (IC) layer that is highlyconductive to ions and highly resistive to electrons. As conventionallyunderstood, the ionically conductive layer therefore prevents shortingbetween the electrochromic layer and the counter electrode layer. Theionically conductive layer allows the electrochromic and counterelectrodes to hold a charge and thereby maintain their bleached orcolored states. In electrochromic devices having distinct layers, thecomponents form a stack which includes the ion conducting layersandwiched between the electrochromic electrode layer and the counterelectrode layer. The boundaries between these three stack components aredefined by abrupt changes in composition and/or microstructure. Thus,the devices have three distinct layers with two abrupt interfaces.

In accordance with certain embodiments, the counter electrode andelectrochromic electrodes are formed immediately adjacent one another,sometimes in direct contact, without separately depositing an ionicallyconducting layer. In some embodiments, electrochromic devices having aninterfacial region rather than a distinct IC layer are employed. Suchdevices, and methods of fabricating them, are described in U.S. Pat. No.8,300,298, U.S. Pat. No. 8,582,193, U.S. Pat. No. 8,764,950, and U.S.Pat. No. 8,764,951—each of the patents is titled “ElectrochromicDevices,” each names Zhongchun Wang et al. as inventors, and each isincorporated by reference herein in its entirety.

In certain embodiments, an electrochromic device may be integrated intoan insulated glass unit (IGU) of an electrochromic window or may be in asingle pane electrochromic window. For example, an electrochromic windowmay have an IGU including a first electrochromic lite and a second lite.The IGU also includes a spacer separating the first electrochromic liteand the second lite. The second lite in the IGU may be anon-electrochromic lite or otherwise. For example, the second lite mayhave an electrochromic device thereon and/or one or more coatings suchas low-E coatings and the like. Either of the lites can also belaminated glass. Between the spacer and the first TCO layer of theelectrochromic lite is a primary seal material. This primary sealmaterial is also between spacer and second glass lite. Around theperimeter of spacer is a secondary seal. These seals aid in keepingmoisture out of the interior space of the IGU. They also serve toprevent argon or other gas that may be introduced into the interiorspace of the IGU from escaping. The IGU also includes bus bar wiring forconnection to a window controller. In some embodiments, one or both ofthe bus bars are inside the finished IGU, however in one embodiment onebus bar is outside the seal of the IGU and one bus bar is inside theIGU. In the former embodiment, an area is used to make the seal with oneface of the spacer used to form the IGU. Thus, the wires or otherconnection to the bus bars runs between the spacer and the glass. Asmany spacers are made of metal, e.g., stainless steel, which isconductive, it is desirable to take steps to avoid short circuiting dueto electrical communication between the bus bar and connector theretoand the metal spacer.

II. Window Controllers

A window controller is used to control the tint level of theelectrochromic device of an electrochromic window. In some embodiments,the window controller is able to transition the electrochromic windowbetween two tint states (levels), a bleached state and a colored state.In other embodiments, the controller can additionally transition theelectrochromic window (e.g., having a single electrochromic device) tointermediate tint levels. In some disclosed embodiments, the windowcontroller is able to transition the electrochromic window to four ormore tint levels. Certain electrochromic windows allow intermediate tintlevels by using two (or more) electrochromic lites in a single IGU,where each lite is a two-state lite. This is described in reference toFIGS. 1A and 1B in this section.

In some embodiments, an electrochromic window can include anelectrochromic device 300 on one lite of an IGU and anotherelectrochromic device 300 on the other lite of the IGU. If the windowcontroller is able to transition each electrochromic device between twostates, a bleached state and a colored state, the electrochromic windowis able to attain four different states (tint levels), a colored statewith both electrochromic devices being colored, a first intermediatestate with one electrochromic device being colored, a secondintermediate state with the other electrochromic device being colored,and a bleached state with both electrochromic devices being bleached.Embodiments of multi-pane electrochromic windows are further describedin U.S. Pat. No. 8,270,059, naming Robin Friedman et al. as inventors,titled “MULTI-PANE ELECTROCHROMIC WINDOWS,” which is hereby incorporatedby reference in its entirety.

In some embodiments, the window controller is able to transition anelectrochromic window having an electrochromic device capable oftransitioning between two or more tint levels. For example, a windowcontroller may be able to transition the electrochromic window to ableached state, one or more intermediate levels, and a colored state. Insome other embodiments, the window controller is able to transition anelectrochromic window incorporating an electrochromic device between anynumber of tint levels between the bleached state and the colored state.Embodiments of methods and controllers for transitioning anelectrochromic window to an intermediate tint level or levels arefurther described in U.S. Pat. No. 8,254,013, naming Disha Mehtani etal. as inventors, titled “CONTROLLING TRANSITIONS IN OPTICALLYSWITCHABLE DEVICES,” which is hereby incorporated by reference in itsentirety.

In some embodiments, a window controller can power one or moreelectrochromic devices in an electrochromic window. Typically, thisfunction of the window controller is augmented with one or more otherfunctions described in more detail below. Window controllers describedherein are not limited to those that have the function of powering anelectrochromic device to which it is associated for the purposes ofcontrol. That is, the power source for the electrochromic window may beseparate from the window controller, where the controller has its ownpower source and directs application of power from the window powersource to the window. However, it is convenient to include a powersource with the window controller and to configure the controller topower the window directly, because it obviates the need for separatewiring for powering the electrochromic window.

Further, the window controllers described in this section are describedas standalone controllers which may be configured to control thefunctions of a single window or a plurality of electrochromic windows,without integration of the window controller into a building controlnetwork or a building management system (BMS). Window controllers,however, may be integrated into a building control network or a BMS, asdescribed further in the Building Management System section of thisdisclosure.

FIG. 2 depicts a block diagram of some components of a window controller450 and other components of a window controller system of disclosedembodiments. FIG. 2 is a simplified block diagram of a windowcontroller, and more detail regarding window controllers can be found inU.S. patent application Ser. Nos. 13/449,248 and 13/449,251, both namingStephen Brown as inventor, both titled “CONTROLLER FOROPTICALLY-SWITCHABLE WINDOWS,” and both filed on Apr. 17, 2012, and inU.S. Pat. Ser. No. 13/449,235, titled “CONTROLLING TRANSITIONS INOPTICALLY SWITCHABLE DEVICES,” naming Stephen Brown et al. as inventorsand filed on Apr. 17, 2012, all of which are hereby incorporated byreference in their entireties.

In FIG. 2, the illustrated components of the window controller 450include a window controller 450 having a microprocessor 455 or otherprocessor, a pulse width modulator 460, a signal conditioning module465, and a computer readable medium (e.g., memory) having aconfiguration file 475. Window controller 450 is in electroniccommunication with one or more electrochromic devices 400 in anelectrochromic window through network 480 (wired or wireless) to sendinstructions to the one or more electrochromic devices 400. In someembodiments, the window controller 450 may be a local window controllerin communication through a network (wired or wireless) to a masterwindow controller.

In disclosed embodiments, a building may have at least one room havingan electrochromic window between the exterior and interior of abuilding. One or more sensors may be located to the exterior of thebuilding and/or inside the room. In embodiments, the output from the oneor more sensors may be input to the signal conditioning module 465 ofthe window controller 450. In some cases, the output from the one ormore sensors may be input to a BMS, as described further in the BuildingManagement Systems section. Although the sensors of depicted embodimentsare shown as located on the outside vertical wall of the building, thisis for the sake of simplicity, and the sensors may be in otherlocations, such as inside the room or on other surfaces to the exterior,as well. In some cases, two or more sensors may be used to measure thesame input, which can provide redundancy in case one sensor fails or hasan otherwise erroneous reading.

FIG. 3 depicts a schematic (side view) diagram of a room 500 having anelectrochromic window 505 with at least one electrochromic device. Theelectrochromic window 505 is located between the exterior and theinterior of a building, which includes the room 500. The room 500 alsoincludes a window controller 450 connected to and configured to controlthe tint level of the electrochromic window 505. An exterior sensor 510is located on a vertical surface in the exterior of the building. Inother embodiments, an interior sensor may also be used to measure theambient light in room 500. In yet other embodiments, an occupant sensormay also be used to determine when an occupant is in the room 500.

Exterior sensor 510 is a device, such as a photosensor, that is able todetect radiant light incident upon the device flowing from a lightsource such as the sun or from light reflected to the sensor from asurface, particles in the atmosphere, clouds, etc. The exterior sensor510 may generate a signal in the form of electrical current that resultsfrom the photoelectric effect and the signal may be a function of thelight incident on the sensor 510. In some cases, the device may detectradiant light in terms of irradiance in units of watts/m² or othersimilar units. In other cases, the device may detect light in thevisible range of wavelengths in units of foot candles or similar units.In many cases, there is a linear relationship between these values ofirradiance and visible light.

Irradiance values from sunlight can be determined based on the time ofday and time of year as the angle at which sunlight strikes the earthchanges. Exterior sensor 510 can detect radiant light in real-time,which accounts for reflected and obstructed light due to buildings,changes in weather (e.g., clouds), etc. For example, on cloudy days,sunlight would be blocked by the clouds and the radiant light detectedby an exterior sensor 510 would be lower than on cloudless days.

In some embodiments, there may be one or more exterior sensors 510associated with a single electrochromic window 505. Output from the oneor more exterior sensors 510 could be compared to one another todetermine, for example, if one of exterior sensors 510 is shaded by anobject, such as by a bird that landed on exterior sensor 510. In somecases, it may be desirable to use relatively few sensors in a buildingbecause some sensors can be unreliable and/or expensive. In certainimplementations, a single sensor or a few sensors may be employed todetermine the current level of radiant light from the sun impinging onthe building or perhaps one side of the building. A cloud may pass infront of the sun or a construction vehicle may park in front of thesetting sun. These will result in deviations from the amount of radiantlight from the sun calculated to normally impinge on the building.

Exterior sensor 510 may be a type of photosensor. For example, exteriorsensor 510 may be a charge coupled device (CCD), photodiode,photoresistor, or photovoltaic cell. One of ordinary skill in the artwould appreciate that future developments in photosensor and othersensor technology would also work, as they measure light intensity andprovide an electrical output representative of the light level.

In some embodiments, output from exterior sensor 510 may be input to thesignal conditioning module 465. The input may be in the form of avoltage signal to signal conditioning module 465. Signal conditioningmodule 465 passes an output signal to the window controller 450. Windowcontroller 450 determines a tint level of the electrochromic window 505,based on various information from the configuration file 475, outputfrom the signal conditioning module 465, override values. Windowcontroller 450 and then instructs the PWM 460, to apply a voltage and/orcurrent to electrochromic window 505 to transition to the desired tintlevel.

In disclosed embodiments, window controller 450 can instruct the PWM460, to apply a voltage and/or current to electrochromic window 505 totransition it to any one of four or more different tint levels. Indisclosed embodiments, electrochromic window 505 can be transitioned toat least eight different tint levels described as: 0 (lightest), 5, 10,15, 20, 25, 30, and 35 (darkest). The tint levels may linearlycorrespond to visual transmittance values and solar heat gaincoefficient (SHGC) values of light transmitted through theelectrochromic window 505. For example, using the above eight tintlevels, the lightest tint level of 0 may correspond to an SHGC value of0.80, the tint level of 5 may correspond to an SHGC value of 0.70, thetint level of 10 may correspond to an SHGC value of 0.60, the tint levelof 15 may correspond to an SHGC value of 0.50, the tint level of 20 maycorrespond to an SHGC value of 0.40, the tint level of 25 may correspondto an SHGC value of 0.30, the tint level of 30 may correspond to an SHGCvalue of 0.20, and the tint level of 35 (darkest) may correspond to anSHGC value of 0.10.

Window controller 450 or a master controller in communication with thewindow controller 450 may employ any one or more control logiccomponents to determine a desired tint level based on signals from theexterior sensor 510 and/or other input. The window controller 450 caninstruct the PWM 460 to apply a voltage and/or current to electrochromicwindow 505 to transition it to the desired tint level.

III. Introduction to Control Logic

In disclosed embodiments, control logic is used to implement methods fordetermining and controlling a desired tint level for an electrochromicwindow or other tintable window that accounts for occupant comfortand/or energy conservation considerations. In some cases, the controllogic employs one or more logic modules. FIGS. 4A-4C include diagramsdepicting some general information collected by each of three logicModules A, B, and C of an exemplary control logic of disclosedembodiments.

FIG. 4A shows the penetration depth of direct sunlight into a room 500through an electrochromic window 505 between the exterior and theinterior of a building, which includes the room 500. Penetration depthis a measure of how far direct sunlight will penetrate into the room500. As shown, penetration depth is measured in a horizontal directionaway from the sill (bottom) of window 505. Generally, the window definesan aperture that provides an acceptance angle for direct sunlight. Thepenetration depth is calculated based upon the geometry of the window(e.g., window dimensions), its position and orientation in the room, anyfins or other exterior shading outside of the window, and the positionof the sun (e.g. angle of direct sunlight for a particular time of dayand date). Exterior shading to an electrochromic window 505 may be dueto any type of structure that can shade the window such as an overhang,a fin, etc. In FIG. 4A, there is an overhang 520 above theelectrochromic window 505 that blocks a portion of the direct sunlightentering the room 500 thus shortening the penetration depth. The room500 also includes a local window controller 450 connected to andconfigured to control the tint level of the electrochromic window 505.An exterior sensor 510 is located on a vertical surface in the exteriorof the building.

Module A can be used to determine a tint level that considers occupantcomfort from direct sunlight through the electrochromic window 505 ontoan occupant or their activity area. The tint level is determined basedon a calculated penetration depth of direct sunlight into the room andthe space type (e.g., desk near window, lobby, etc.) in the room at aparticular instant in time. In some cases, the tint level may also bebased on providing sufficient natural lighting into the room. In manycases, the penetration depth is the value calculated at a time in thefuture to account for glass transition time (the time required for thewindow to tint, e.g. to 80%, 90% or 100% of the desired tint level). Theissue addressed in Module A is that direct sunlight may penetrate sodeeply into the room 500 as to show directly on an occupant working at adesk or other work surface in a room. Publicly available programs canprovide calculation of the sun's position and allow for easy calculationof penetration depth.

FIG. 4A also shows a desk in the room 500 as an example of a space typeassociated with an activity area (i.e. desk) and location of theactivity area (i.e. location of desk). Each space type is associatedwith different tint levels for occupant comfort. For example, if theactivity is a critical activity such as work in an office being done ata desk or computer, and the desk is located near the window, the desiredtint level may be higher than if the desk were further away from thewindow. As another example, if the activity is non-critical, such as theactivity in a lobby, the desired tint level may be lower than for thesame space having a desk.

FIG. 4B shows direct sunlight and radiation under clear sky conditionsentering the room 500 through the electrochromic window 505. Theradiation may be from sunlight scattered by molecules and particles inthe atmosphere. Module B determines a tint level based on calculatedvalues of irradiance under clear sky conditions flowing through theelectrochromic window 505 under consideration. Various software, such asopen source RADIANCE program, can be used to calculate clear skyirradiance at a certain latitude, longitude, time of year, and time ofday, and for a given window orientation.

FIG. 4C shows radiant light from the sky that is measured in real-timeby an exterior sensor 510 to account for light that may be obstructed byor reflected from objects such as buildings or weather conditions (e.g.,clouds) that are not accounted for in the clear sky radiationdeterminations. The tint level determined by Module C is based on thereal-time irradiance based on measurements taken by the exterior sensor510. Generally, the operations of Module B will determine a tint levelthat darkens (or does not change) the tint level determined by Module Aand the operations of Module C will determine a tint level that lightens(or does not change) the tint level determined by Module B.

The control logic may implement one or more of the logic Modules A, Band C separately for each electrochromic window 505 in the building.Each electrochromic window 505 can have a unique set of dimensions,orientation (e.g., vertical, horizontal, tilted at an angle), position,associated space type, etc. A configuration file with this informationand other information can be maintained for each electrochromic window505. The configuration file 475 (refer to FIG. 2) may be stored in thecomputer readable medium 470 of the local window controller 450 of theelectrochromic window 505 or in the building management system (“BMS”)described later in this disclosure. The configuration file 475 caninclude information such as a window configuration, an occupancy lookuptable, information about an associated datum glass, and/or other dataused by the control logic. The window configuration may includeinformation such as the dimensions of the electrochromic window 505, theorientation of the electrochromic window 505, the position of theelectrochromic window 505, etc.

A lookup table describes tint levels that provide occupant comfort forcertain space types and penetration depths. That is, the tint levels inthe occupancy lookup table are designed to provide comfort tooccupant(s) that may be in the room 500 from direct sunlight on theoccupant(s) or their workspace. An example of an occupancy lookup tableis shown in FIG. 8.

The space type is a measure to determine how much tinting will berequired to address occupant comfort concerns for a given penetrationdepth and/or provide comfortable natural lighting in the room. The spacetype parameter may take into consideration many factors. Among thesefactors is the type of work or other activity being conducted in aparticular room and the location of the activity. Close work associatedwith detailed study requiring great attention might be at one spacetype, while a lounge or a conference room might have a different spacetype. Additionally, the position of the desk or other work surface inthe room with respect to the window is a consideration in defining thespace type. For example, the space type may be associated with an officeof a single occupant having a desk or other workspace located near theelectrochromic window 505. As another example, the space type may be alobby.

In certain embodiments, one or more modules of the control logic candetermine desired tint levels while accounting for energy conservationin addition to occupant comfort. These modules may determine energysavings associated with a particular tint level by comparing theperformance of the electrochromic window 505 at that tint level to adatum glass or other standard reference window. The purpose of usingthis reference window can be to ensure that the control logic conformsto requirements of the municipal building code or other requirements forreference windows used in the locale of the building. Oftenmunicipalities define reference windows using conventional lowemissivity glass to control the amount of air conditioning load in thebuilding. As an example of how the reference window 505 fits into thecontrol logic, the logic may be designed so that the irradiance comingthrough a given electrochromic window 505 is never greater than themaximum irradiance coming through a reference window as specified by therespective municipality. In disclosed embodiments, control logic may usethe solar heat gain coefficient (SHGC) value of the electrochromicwindow 505 at a particular tint level and the SHGC of the referencewindow to determine the energy savings of using the tint level.Generally, the value of the SHGC is the fraction of incident light ofall wavelengths transmitted through the window. Although a datum glassis described in many embodiments, other standard reference windows canbe used. Generally the SHGC of the reference window (e.g., datum glass)is a variable that can be different for different geographical locationsand window orientations, and is based on code requirements specified bythe respective municipality.

Generally, buildings are designed to have a heating, ventilation, andair conditioning (“HVAC”) system with the capacity to fulfill themaximum expected heating and/or air-conditioning loads required at anygiven instance. The calculation of required capacity may take intoconsideration the datum glass or reference window required in a buildingat the particular location where the building is being constructed.Therefore, it is important that the control logic meet or exceed thefunctional requirements of the datum glass in order to allow buildingdesigners to confidently determine how much HVAC capacity to put into aparticular building. Since the control logic can be used to tint thewindow to provide additional energy savings over the datum glass, thecontrol logic could be useful in allowing building designers to have alower HVAC capacity than would have been required using the datum glassspecified by the codes and standards.

Particular embodiments described herein assume that energy conservationis achieved by reducing air conditioning load in a building. Therefore,many of the implementations attempt to achieve the maximum tintingpossible, while accounting for occupant comfort level and perhapslighting load in a room having with the window under consideration.However, in some climates, such as those at far northern and forsouthern latitudes, heating may be more of a concern than airconditioning. Therefore, the control logic can be modified,specifically, road reversed in some matters, so that less tinting occursin order to ensure that the heating load of the building is reduced.

In certain implementations, the control logic has only two independentvariables that can be controlled by an occupant (end user), buildingdesigner, or building operator. These are the space types for a givenwindow and the datum glass associated with the given window. Often thedatum glass is specified when the control logic is implemented for agiven building. The space type can vary, but is typically static. Incertain implementations, the space type may be part of the configurationfile maintained by the building or stored in the local window controller450. In some cases, the configuration file may be updated to account forvarious changes in the building. For example, if there is a change inthe space type (e.g., desk moved in an office, addition of desk, lobbychanged into office area, wall moved, etc.) in the building, an updatedconfiguration file with a modified occupancy lookup table may be storedin the computer readable medium 470. As another example, if an occupantis hitting manual override repeatedly, then the configuration file maybe updated to reflect the manual override.

FIG. 5 is a flowchart showing control logic for a method of controllingone or more electrochromic windows 505 in a building, according toembodiments. The control logic uses one or more of the Modules A, B, andC to calculate tint levels for the window(s) and sends instructions totransition the window(s). The calculations in the control logic are run1 to n times at intervals timed by the timer at operation 610. Forexample, the tint level can be recalculated 1 to n times by one or moreof the Modules A, B, and C and calculated for instances in timet_(i)=t₁, t₂, . . . , t_(n). n is the number of recalculations performedand n can be at least 1. The logic calculations can be done at constanttime intervals in some cases. In one cases, the logic calculations maybe done every 2 to 5 minutes. However, tint transition for large piecesof electrochromic glass (e.g. up to 6′×10 feet) can take up to 30minutes or more. For these large windows, calculations may be done on aless frequent basis such as every 30 minutes.

At operation 620, logic Modules A, B, and C perform calculations todetermine a tint level for each electrochromic window 505 at a singleinstant in time t_(i). These calculations can be performed by the windowcontroller 450. In certain embodiments, the control logic calculates howthe window should transition in advance of the actual transition. Inthese cases, the calculations in Modules A, B, and C are based on afuture time, for example, around or after transition is complete. Forexample, the future time used in the calculations may be a time in thefuture that is sufficient to allow the transition to be completed afterreceiving the tint instructions. In these cases, the controller can sendtint instructions in the present time in advance of the actualtransition. By the completion of the transition, the window will havetransitioned to a tint level that is desired for that time.

At operation 630, the control logic allows for certain types ofoverrides that disengage the algorithm at Modules A, B, and C and defineoverride tint levels at operation 640 based on some other consideration.One type of override is a manual override. This is an overrideimplemented by an end user who is occupying a room and determines that aparticular tint level (override value) is desirable. There may besituations where the user's manual override is itself overridden. Anexample of an override is a high demand (or peak load) override, whichis associated with a requirement of a utility that energy consumption inthe building be reduced. For example, on particularly hot days in largemetropolitan areas, it may be necessary to reduce energy consumptionthroughout the municipality in order to not overly tax themunicipality's energy generation and delivery systems. In such cases,the building may override the tint level from the control logicdescribed herein to ensure that all windows have a particularly highlevel of tinting. Another example of an override may be if there is nooccupant in the room example weekends in a commercial office building.In these cases, the building may disengage one or more Modules thatrelate to occupant comfort and all the windows may have a low level oftinting in cold weather and high level of tinting in warm weather.

At operation 650, the tint levels are transmitted over a network toelectrochromic device(s) in one or more electrochromic windows 505 inthe building. In certain embodiments, the transmission of tint levels toall windows of a building may be implemented with efficiency in mind.For example, if the recalculation of tint level suggests that no changein tint from the current tint level is required, then there is notransmission of instructions with an updated tint level. As anotherexample, the building may be divided into zones based on window sizeand/or location in the building. In one case, control logic recalculatestint levels for zones with smaller windows more frequently than forzones with larger windows.

In some embodiments, the control logic in FIG. 5 for implementing thecontrol method(s) for multiple electrochromic windows in an entirebuilding can be on a single device, for example, a single master windowcontroller. This device can perform the calculations for each and everytintable window in the building and also provide an interface fortransmitting tint levels to one or more electrochromic devices inindividual electrochromic windows 505, for example, in multi-zonewindows or on multiple EC lites of an insulated glass unit. Someexamples of multi-zone windows can be found in PCT application No.PCT/US14/71314 titled “MULTI-ZONE EC WINDOWS,” which is herebyincorporated by reference in its entirety.

Also, there may be certain adaptive components of the control logic ofembodiments. For example, the control logic may determine how an enduser (e.g. occupant) tries to override the algorithm at particular timesof day and makes use of this information in a more predictive manner todetermine desired tint levels. In one case, the end user may be using awall switch to override the tint level provided by the control logic ata certain time each day to an override value. The control logic mayreceive information about these instances and change the control logicto change the tint level to the override value at that time of day.

FIG. 6 is a diagram showing a particular implementation of block 620from FIG. 5. This diagram shows a method of performing all three ModulesA, B, and C in sequence to calculate a final tint level of a particularelectrochromic window 505 for a single instant in time t_(i). The finaltint level may be the maximum permissible transmissivity of the windowunder consideration. FIG. 6 also includes some exemplary inputs andoutputs of Modules A, B, and C. The calculations in Modules A, B, and Care performed by window controller 450 in local window controller 450 inembodiments. In other embodiments, one or more of the modules can beperformed by another processor. Although illustrated embodiments showall three Modules A, B, and C being used, other embodiments may use oneor more of the Modules A, B, and C or may use additional modules.

At operation 700, window controller 450 uses Module A to determine atint level for occupant comfort to prevent direct glare from sunlightpenetrating the room 500. Window controller 450 uses Module A tocalculate the penetration depth of direct sunlight into the room 500based on the sun's position in the sky and the window configuration fromthe configuration file. The position of the sun is calculated based onthe latitude and longitude of the building and the time of day and date.The occupancy lookup table and space type are input from a configurationfile for the particular window. Module A outputs the Tint level from Ato Module B.

The goal of Module A is generally to ensure that direct sunlight orglare does not strike the occupant or his or her workspace. The tintlevel from Module A is determined to accomplish this purpose. Subsequentcalculations of tint level in Modules B and C can reduce energyconsumption and may require even greater tint. However, if subsequentcalculations of tint level based on energy consumption suggest lesstinting than required to avoid interfering with the occupant, the logicprevents the calculated greater level of transmissivity from beingexecuted to assure occupant comfort.

At operation 800, the tint level calculated in Module A is input intoModule B. Generally Module B determines a tint level that darkens (ordoes not change) the tint level calculated in Module B. A tint level iscalculated based on calculations of irradiance under clear skyconditions (clear sky irradiance). Window controller 450 uses Module Bto calculate clear sky irradiance for the electrochromic window 505based on window orientation from the configuration file and based onlatitude and longitude of the building. These calculations are alsobased on a time of day and date. Publicly available software such as theRADIANCE program, which is an open-source program, can provide thecalculations for calculating clear sky irradiance. The SHGC of the datumglass is also input into Module B from the configuration file. Windowcontroller 450 uses Module B to determine a tint level that is darkerthan the tint level in A and transmits less heat than the datum glass iscalculated to transmit under maximum clear sky irradiance. Maximum clearsky irradiance is the highest level of irradiance for all timescalculated for clear sky conditions.

At operation 900, a tint level from Module B and calculated clear skyirradiance are input to Module C. Real-time irradiance values are inputto Module C based on measurements from an exterior sensor 510. Windowcontroller 450 uses Module C to calculate irradiance transmitted intothe room if the window were tinted to the Tint level from Module B underclear sky conditions. Window controller 450 uses Module C to find theappropriate tint level where the actual irradiance through the windowwith this tint level is less than or equal to the irradiance through thewindow with the Tint level from Module B. Generally the operations ofModule C will determine a tint level that lightens (or does not change)the tint level determined by the operations of Module B. The tint leveldetermined in Module C is the final tint level in this example.

Much of the information input to the control logic is determined fromfixed information about the latitude and longitude, time and date. Thisinformation describes where the sun is with respect to the building, andmore particularly with respect to the window for which the control logicis being implemented. The position of the sun with respect to the windowprovides information such as the penetration depth of direct sunlightinto the room assisted with the window. It also provides an indicationof the maximum irradiance or solar radiant energy flux coming throughthe window. This calculated level of irradiance can be modified bysensor input which might indicate that there is a reduction from themaximum amount of irradiance. Again, such reduction might be caused by acloud or other obstruction between the window and the sun.

FIG. 7 is a flowchart showing details of operation 700 of FIG. 6. Atoperation 705, Module A begins. At operation 710, the window controller450 uses Module A to calculate the position of the sun for the latitudeand longitude coordinates of the building and the date and time of dayof a particular instant in time, t_(i). The latitude and longitudecoordinates may be input from the configuration file. The date and timeof day may be based on the current time provided by the timer. The sunposition is calculated at the particular instant in time, t_(i), whichmay be in the future in some cases. In other embodiments, the positionof the sun is calculated in another component (e.g., module) of thecontrol logic.

At operation 720, window controller 450 uses Module A to calculate thepenetration depth of direct sunlight into the room 500 at the particularinstant in time used in operation 710. Module A calculates thepenetration depth based on the calculated position of the sun and windowconfiguration information including the position of the window,dimensions of the window, orientation of the window (i.e. directionfacing), and the details of any exterior shading. The windowconfiguration information is input from the configuration fileassociated with the electrochromic window 505. For example, Module A canbe used to calculate the penetration depth of the vertical window shownin FIG. 4A by first calculating the angle B of the direct sunlight basedon the position of the sun calculated at the particular instant in time.The penetration depth can be determined based on calculated angle B andthe location of the lintel (top of the window).

At operation 730, a tint level is determined that will provide occupantcomfort for the penetration depth calculated in operation 720. Theoccupancy lookup table is used to find a desired tint level for thespace type associated with the window, for the calculated penetrationdepth, and for the acceptance angle of the window. The space type andoccupancy lookup table are provided as input from the configuration filefor the particular window.

An example of an occupancy lookup table is provided in FIG. 8. Thevalues in the table are in terms of a Tint level and associated SHGCvalues in parenthesis. FIG. 8 shows the different tint levels (SHGCvalues) for different combinations of calculated penetration values andspace types. The table is based on eight tint levels including 0(lightest), 5, 10, 15, 20, 25, 30, and 35 (lightest). The lightest tintlevel of 0 corresponds to an SHGC value of 0.80, the tint level of 5corresponds to an SHGC value of 0.70, the tint level of 10 correspondsto an SHGC value of 0.60, the tint level of 15 corresponds to an SHGCvalue of 0.50, the tint level of 20 corresponds to an SHGC value of0.40, the tint level of 25 corresponds to an SHGC value of 0.30, thetint level of 30 corresponds to an SHGC value of 0.20, and the tintlevel of 35 (darkest) corresponds to an SHGC value of 0.10. Theillustrated example includes three space types: Desk 1, Desk 2, andLobby and six penetration depths.

FIG. 9A shows the location of Desk 1 in the room 500. FIG. 9B shows thelocation of Desk 2 in the room 500. As shown in the occupancy lookuptable of FIG. 8, the tint levels for Desk 1 close to the window arehigher than the tint levels for Desk 2 far from window to prevent glarewhen the desk is closer to the window. Occupancy lookup tables withother values may be used in other embodiments. For example, one otheroccupancy lookup table may include only four tint levels associated withthe penetration values. Another example of an occupancy table with fourtint levels associated with four penetration depths is shown in FIG. 13.

FIG. 10 is a diagram includes an example of an implementation of thelogic in block 620 shown in FIG. 5. This diagram shows control logic fora method of performing Modules A, B, and C of embodiments. In thismethod, the position of the sun is calculated based on the latitude andlongitude coordinates of the building for a single instant in timet_(i). The penetration depth is calculated in Module A based on thewindow configuration including a position of the window, dimensions ofthe window, orientation of the window, and information about anyexternal shading. Module A uses a lookup table to determine the tintlevel from Module A based on the calculated penetration and the spacetype. The tint level from Module A is then input into Module B.

A program such as the open source program Radiance, is used to determineclear sky irradiance based on window orientation and latitude andlongitude coordinates of the building for both a single instant in timet_(i), and a maximum value for all times. The datum glass SHGC andcalculated maximum clear sky irradiance are input into Module B. ModuleB increases the tint level calculated in Module A in steps and picks atint level where the Inside radiation is less than or equal to the DatumInside Irradiance where: Inside Irradiance=Tint level SHGC x Clear SkyIrradiance and Datum Inside Irradiance=Datum SHGC×Maximum Clear SkyIrradiance. However, when Module A calculates the maximum tint of theglass, module B doesn't change the tint to make it lighter. The tintlevel calculated in Module B is then input into Module C. The calculatedclear sky irradiance is also input into Module C.

Module C calculates the inside irradiance in the room with anelectrochromic window 505 having the tint level from Module B using theequation: Calculated Inside Irradiance=SHGC of Tint Level fromB×Calculated Clear Sky Irradiance from Module B. Module C then finds theappropriate tint level that meets the condition where actual insideirradiance is less than or equal to the Calculated Inside Irradiance.The actual inside irradiance is determined using the equation: ActualInside Irradiance=Sensor reading (SR)×Tint level SHGC. The tint leveldetermined by Module C is the final tint level in tint instructions sentto the electrochromic window.

IV. Building Management Systems (BMSs)

The window controllers described herein also are suited for integrationwith a BMS. A BMS is a computer-based control system installed in abuilding that monitors and controls the building's mechanical andelectrical equipment such as ventilation, lighting, power systems,elevators, fire systems, and security systems. A BMS consists ofhardware, including interconnections by communication channels to acomputer or computers, and associated software for maintainingconditions in the building according to preferences set by the occupantsand/or by the building manager. For example, a BMS may be implementedusing a local area network, such as Ethernet. The software can be basedon, for example, internet protocols and/or open standards. One exampleis software from Tridium, Inc. (of Richmond, Va.). One communicationsprotocol commonly used with a BMS is BACnet (building automation andcontrol networks).

A BMS is most common in a large building, and typically functions atleast to control the environment within the building. For example, a BMSmay control temperature, carbon dioxide levels, and humidity within abuilding. Typically, there are many mechanical devices that arecontrolled by a BMS such as heaters, air conditioners, blowers, vents,and the like. To control the building environment, a BMS may turn on andoff these various devices under defined conditions. A core function of atypical modern BMS is to maintain a comfortable environment for thebuilding's occupants while minimizing heating and cooling costs/demand.Thus, a modern BMS is used not only to monitor and control, but also tooptimize the synergy between various systems, for example, to conserveenergy and lower building operation costs.

In some embodiments, a window controller is integrated with a BMS, wherethe window controller is configured to control one or moreelectrochromic windows 505 or other tintable windows. In one embodiment,the one or more electrochromic windows include at least one all solidstate and inorganic electrochromic device, but may include more than oneelectrochromic device, e.g. where each lite or pane of an IGU istintable. In one embodiment, the one or more electrochromic windowsinclude only all solid state and inorganic electrochromic devices. Inone embodiment, the electrochromic windows are multistate electrochromicwindows, as described in U.S. patent application Ser. No. 12/851,514,filed on Aug. 5, 2010, and titled “Multipane Electrochromic Windows.”

FIG. 11 depicts a schematic diagram of an embodiment of a BMS 1100, thatmanages a number of systems of a building 1101, including securitysystems, heating/ventilation/air conditioning (HVAC), lighting of thebuilding, power systems, elevators, fire systems, and the like. Securitysystems may include magnetic card access, turnstiles, solenoid drivendoor locks, surveillance cameras, burglar alarms, metal detectors, andthe like. Fire systems may include fire alarms and fire suppressionsystems including a water plumbing control. Lighting systems may includeinterior lighting, exterior lighting, emergency warning lights,emergency exit signs, and emergency floor egress lighting. Power systemsmay include the main power, backup power generators, and uninterruptedpower source grids.

Also, BMS 1100 manages a master window controller 1102. In this example,master window controller 1102 is depicted as a distributed network ofwindow controllers including a master network controller, 1103,intermediate network controllers, 1105 a and 1105 b, and end or leafcontrollers 1110. End or leaf controllers 1110 may be similar to windowcontroller 450 described with respect to FIG. 2. For example, masternetwork controller 1103 may be in proximity to the BMS 1100, and eachfloor of building 1101 may have one or more intermediate networkcontrollers 1105 a and 1105 b, while each window of the building has itsown end controller 1110. In this example, each of controllers 1110controls a specific electrochromic window of building 1101.

Each of controllers 1110 can be in a separate location from theelectrochromic window that it controls, or be integrated into theelectrochromic window. For simplicity, only ten electrochromic windowsof building 1101 are depicted as controlled by master window controller1102. In a typical setting there may be a large number of electrochromicwindows in a building controlled by master window controller 1102.Master window controller 1102 need not be a distributed network ofwindow controllers. For example, a single end controller which controlsthe functions of a single electrochromic window also falls within thescope of the embodiments disclosed herein, as described above.

One aspect of the disclosed embodiments is a BMS including amultipurpose electrochromic window controller as described herein. Byincorporating feedback from a electrochromic window controller, a BMScan provide, for example, enhanced: 1) environmental control, 2) energysavings, 3) security, 4) flexibility in control options, 5) improvedreliability and usable life of other systems due to less reliancethereon and therefore less maintenance thereof, 6) informationavailability and diagnostics, 7) effective use of, and higherproductivity from, staff, and various combinations of these, because theelectrochromic windows can be automatically controlled. In someembodiments, a BMS may not be present or a BMS may be present but maynot communicate with a master network controller or communicate at ahigh level with a master network controller. In certain embodiments,maintenance on the BMS would not interrupt control of the electrochromicwindows.

In some cases, the systems of a BMS or another building network may runaccording to daily, monthly, quarterly, or yearly schedules. Forexample, the lighting control system, the window control system, theHVAC, and the security system may operate on a twenty four (24) hourschedule accounting for when people are in the building during the workday. At night, the building may enter an energy savings mode, and duringthe day, the systems may operate in a manner that minimizes the energyconsumption of the building while providing for occupant comfort. Asanother example, the systems may shut down or enter an energy savingsmode over a holiday period.

The scheduling information may be combined with geographicalinformation. Geographical information may include the latitude andlongitude of the building. Geographical information also may includeinformation about the direction that each side of the building faces.Using such information, different rooms on different sides of thebuilding may be controlled in different manners. For example, for eastfacing rooms of the building in the winter, the window controller mayinstruct the windows to have no tint in the morning so that the roomwarms up due to sunlight shining in the room and the lighting controlpanel may instruct the lights to be dim because of the lighting from thesunlight. The west facing windows may be controllable by the occupantsof the room in the morning because the tint of the windows on the westside may have no impact on energy savings. However, the modes ofoperation of the east facing windows and the west facing windows mayswitch in the evening (e.g., when the sun is setting, the west facingwindows are not tinted to allow sunlight in for both heat and lighting).

Described below is an example of a building, for example, like building1101 in FIG. 11, including a building network or a BMS, tintable windowsfor the exterior windows of the building (i.e., windows separating theinterior of the building from the exterior of the building), and anumber of different sensors. Light from exterior windows of a buildinggenerally has an effect on the interior lighting in the building about20 feet or about 30 feet from the windows. That is, space in a buildingthat is more that about 20 feet or about 30 feet from an exterior windowreceives little light from the exterior window. Such spaces away fromexterior windows in a building are lit by lighting systems of thebuilding.

Further, the temperature within a building may be influenced by exteriorlight and/or the exterior temperature. For example, on a cold day andwith the building being heated by a heating system, rooms closer todoors and/or windows will lose heat faster than the interior regions ofthe building and be cooler compared to the interior regions.

For exterior sensors, the building may include exterior sensors on theroof of the building. Alternatively, the building may include anexterior sensor associated with each exterior window (e.g., as describedin relation to FIG. 3, room 500) or an exterior sensor on each side ofthe building. An exterior sensor on each side of the building couldtrack the irradiance on a side of the building as the sun changesposition throughout the day.

Regarding the methods described with respect to FIGS. 5, 6, 7, 14A, and16-21, when a window controller is integrated into a building network ora BMS, outputs from exterior sensors 510 may be input to a network ofBMS and provided as input to the local window controller 450. Forexample, in some embodiments, output signals from any two or moresensors are received. In some embodiments, only one output signal isreceived, and in some other embodiments, three, four, five, or moreoutputs are received. These output signals may be received over abuilding network or a BMS.

In some embodiments, the output signals received include a signalindicating energy or power consumption by a heating system, a coolingsystem, and/or lighting within the building. For example, the energy orpower consumption of the heating system, the cooling system, and/or thelighting of the building may be monitored to provide the signalindicating energy or power consumption. Devices may be interfaced withor attached to the circuits and/or wiring of the building to enable thismonitoring. Alternatively, the power systems in the building may beinstalled such that the power consumed by the heating system, a coolingsystem, and/or lighting for an individual room within the building or agroup of rooms within the building can be monitored.

Tint instructions can be provided to change to tint of the tintablewindow to the determined level of tint. For example, referring to FIG.11, this may include master network controller 1103 issuing commands toone or more intermediate network controllers 1105 a and 1105 b, which inturn issue commands to end controllers 1110 that control each window ofthe building. End controllers 1100 may apply voltage and/or current tothe window to drive the change in tint pursuant to the instructions.

In some embodiments, a building including electrochromic windows and aBMS may be enrolled in or participate in a demand response program runby the utility or utilities providing power to the building. The programmay be a program in which the energy consumption of the building isreduced when a peak load occurrence is expected. The utility may sendout a warning signal prior to an expected peak load occurrence. Forexample, the warning may be sent on the day before, the morning of, orabout one hour before the expected peak load occurrence. A peak loadoccurrence may be expected to occur on a hot summer day when coolingsystems/air conditioners are drawing a large amount of power from theutility, for example. The warning signal may be received by the BMS ofthe building or by window controllers configured to control theelectrochromic windows in the building. This warning signal can be anoverride mechanism that disengages the Modules A, B, and C as shown inFIG. 5. The BMS can then instruct the window controller(s) to transitionthe appropriate electrochromic device in the electrochromic windows 505to a dark tint level aid in reducing the power draw of the coolingsystems in the building at the time when the peak load is expected.

In some embodiments, tintable windows for the exterior windows of thebuilding (i.e., windows separating the interior of the building from theexterior of the building), may be grouped into zones, with tintablewindows in a zone being instructed in a similar manner. For example,groups of electrochromic windows on different floors of the building ordifferent sides of the building may be in different zones. For example,on the first floor of the building, all of the east facingelectrochromic windows may be in zone 1, all of the south facingelectrochromic windows may be in zone 2, all of the west facingelectrochromic windows may be in zone 3, and all of the north facingelectrochromic windows may be in zone 4. As another example, all of theelectrochromic windows on the first floor of the building may be in zone1, all of the electrochromic windows on the second floor may be in zone2, and all of the electrochromic windows on the third floor may be inzone 3. As yet another example, all of the east facing electrochromicwindows may be in zone 1, all of the south facing electrochromic windowsmay be in zone 2, all of the west facing electrochromic windows may bein zone 3, and all of the north facing electrochromic windows may be inzone 4. As yet another example, east facing electrochromic windows onone floor could be divided into different zones. Any number of tintablewindows on the same side and/or different sides and/or different floorsof the building may be assigned to a zone. In embodiments whereindividual tintable windows have independently controllable zones,tinting zones may be created on a building facade using combinations ofzones of individual windows, e.g. where individual windows may or maynot have all of their zones tinted.

In some embodiments, electrochromic windows in a zone may be controlledby the same window controller. In some other embodiments, electrochromicwindows in a zone may be controlled by different window controllers, butthe window controllers may all receive the same output signals fromsensors and use the same function or lookup table to determine the levelof tint for the windows in a zone.

In some embodiments, electrochromic windows in a zone may be controlledby a window controller or controllers that receive an output signal froma transmissivity sensor. In some embodiments, the transmissivity sensormay be mounted proximate the windows in a zone. For example, thetransmissivity sensor may be mounted in or on a frame containing an IGU(e.g., mounted in or on a mullion, the horizontal sash of a frame)included in the zone. In some other embodiments, electrochromic windowsin a zone that includes the windows on a single side of the building maybe controlled by a window controller or controllers that receive anoutput signal from a transmissivity sensor.

In some embodiments, a sensor (e.g., photosensor) may provide an outputsignal to a window controller to control the electrochromic windows of afirst zone (e.g., a master control zone). The window controller may alsocontrol the electrochromic windows in a second zone (e.g., a slavecontrol zone) in the same manner as the first zone. In some otherembodiments, another window controller may control the electrochromicwindows in the second zone in the same manner as the first zone.

In some embodiments, a building manager, occupants of rooms in thesecond zone, or other person may manually instruct (using a tint orclear command or a command from a user console of a BMS, for example)the electrochromic windows in the second zone (i.e., the slave controlzone) to enter a tint level such as a colored state (level) or a clearstate. In some embodiments, when the tint level of the windows in thesecond zone is overridden with such a manual command, the electrochromicwindows in the first zone (i.e., the master control zone) remain undercontrol of the window controller receiving output from thetransmissivity sensor. The second zone may remain in a manual commandmode for a period of time and then revert back to be under control ofthe window controller receiving output from the transmissivity sensor.For example, the second zone may stay in a manual mode for one hourafter receiving an override command, and then may revert back to beunder control of the window controller receiving output from thetransmissivity sensor.

In some embodiments, a building manager, occupants of rooms in the firstzone, or other person may manually instruct (using a tint command or acommand from a user console of a BMS, for example) the windows in thefirst zone (i.e., the master control zone) to enter a tint level such asa colored state or a clear state. In some embodiments, when the tintlevel of the windows in the first zone is overridden with such a manualcommand, the electrochromic windows in the second zone (i.e., the slavecontrol zone) remain under control of the window controller receivingoutputs from the exterior sensor. The first zone may remain in a manualcommand mode for a period of time and then revert back to be undercontrol of window controller receiving output from the transmissivitysensor. For example, the first zone may stay in a manual mode for onehour after receiving an override command, and then may revert back to beunder control of the window controller receiving output from thetransmissivity sensor. In some other embodiments, the electrochromicwindows in the second zone may remain in the tint level that they are inwhen the manual override for the first zone is received. The first zonemay remain in a manual command mode for a period of time and then boththe first zone and the second zone may revert back to be under controlof the window controller receiving output from the transmissivitysensor.

Any of the methods described herein of control of a tintable window,regardless of whether the window controller is a standalone windowcontroller or is interfaced with a building network, may be used controlthe tint of a tintable window.

Wireless or Wired Communication

In some embodiments, window controllers described herein includecomponents for wired or wireless communication between the windowcontroller, sensors, and separate communication nodes. Wireless or wiredcommunications may be accomplished with a communication interface thatinterfaces directly with the window controller. Such interface could benative to the microprocessor or provided via additional circuitryenabling these functions.

A separate communication node for wireless communications can be, forexample, another wireless window controller, an end, intermediate, ormaster window controller, a remote control device, or a BMS. Wirelesscommunication is used in the window controller for at least one of thefollowing operations: programming and/or operating the electrochromicwindow, collecting data from the electrochromic window from the varioussensors and protocols described herein, and using the electrochromicwindow as a relay point for wireless communication. Data collected fromelectrochromic windows also may include count data such as number oftimes an electrochromic device has been activated, efficiency of theelectrochromic device over time, and the like. These wirelesscommunication features is described in more detail below.

In one embodiment, wireless communication is used to operate theassociated electrochromic windows, for example, via an infrared (IR),and/or radio frequency (RF) signal. In certain embodiments, thecontroller will include a wireless protocol chip, such as Bluetooth,EnOcean, WiFi, Zigbee, and the like. Window controllers may also havewireless communication via a network. Input to the window controller canbe manually input by an end user at a wall switch, either directly orvia wireless communication, or the input can be from a BMS of a buildingof which the electrochromic window is a component.

In one embodiment, when the window controller is part of a distributednetwork of controllers, wireless communication is used to transfer datato and from each of a plurality of electrochromic windows via thedistributed network of controllers, each having wireless communicationcomponents. For example, referring again to FIG. 11, master networkcontroller 1103, communicates wirelessly with each of intermediatenetwork controllers 1105 a and 1105 b, which in turn communicatewirelessly with end controllers 1110, each associated with anelectrochromic window. Master network controller 1103 may alsocommunicate wirelessly with the BMS 1100. In one embodiment, at leastone level of communication in the window controller is performedwirelessly.

In some embodiments, more than one mode of wireless communication isused in the window controller distributed network. For example, a masterwindow controller may communicate wirelessly to intermediate controllersvia WiFi or Zigbee, while the intermediate controllers communicate withend controllers via Bluetooth, Zigbee, EnOcean, or other protocol. Inanother example, window controllers have redundant wirelesscommunication systems for flexibility in end user choices for wirelesscommunication.

Wireless communication between, for example, master and/or intermediatewindow controllers and end window controllers offers the advantage ofobviating the installation of hard communication lines. This is alsotrue for wireless communication between window controllers and BMS. Inone aspect, wireless communication in these roles is useful for datatransfer to and from electrochromic windows for operating the window andproviding data to, for example, a BMS for optimizing the environment andenergy savings in a building. Window location data as well as feedbackfrom sensors are synergized for such optimization. For example, granularlevel (window-by-window) microclimate information is fed to a BMS inorder to optimize the building's various environments.

An Example of System for Controlling Functions of Tintable Windows

FIG. 12 is a block diagram of components of a system 1400 forcontrolling functions (e.g., transitioning to different tint levels) ofone or more tintable windows of a building (e.g., building 1101 shown inFIG. 11), according to embodiments. System 1400 may be one of thesystems managed by a BMS (e.g., BMS 1100 shown in FIG. 11) or mayoperate independently of a BMS.

System 1400 includes a master window controller 1402 that can sendcontrol signals to the tintable windows to control its functions. System1400 also includes a network 1410 in electronic communication withmaster window controller 1402. The control logic, other control logicand instructions for controlling functions of the tintable window(s),and/or sensor data may be communicated to the master window controller1402 through the network 1410. Network 1410 can be a wired or wirelessnetwork (e.g. cloud network). In one embodiment, network 1410 may be incommunication with a BMS to allow the BMS to send instructions forcontrolling the tintable window(s) through network 1410 to the tintablewindow(s) in a building.

System 1400 also includes EC devices 400 of the tintable windows (notshown) and wall switches 1490, which are both in electroniccommunication with master window controller 1402. In this illustratedexample, master window controller 1402 can send control signals to ECdevice(s) 400 to control the tint level of the tintable windows havingthe EC device(s) 400. Each wall switch 1490 is also in communicationwith EC device(s) 400 and master window controller 1402. An end user(e.g., occupant of a room having the tintable window) can use the wallswitch 1490 to control the tint level and other functions of thetintable window having the EC device(s) 400.

In FIG. 12, master window controller 1402 is depicted as a distributednetwork of window controllers including a master network controller1403, a plurality of intermediate network controllers 1405 incommunication with the master network controller 1403, and multiplepluralities of end or leaf window controllers 1410. Each plurality ofend or leaf window controllers 1410 is in communication with a singleintermediate network controller 1405. Although master window controller1402 is illustrated as a distributed network of window controllers,master window controller 1402 could also be a single window controllercontrolling the functions of a single tintable window in otherembodiments. The components of the system 1400 in FIG. 12 may be similarin some respects to components described with respect to FIG. 11. Forexample, master network controller 1403 may be similar to master networkcontroller 1103 and intermediate network controllers 1405 may be similarto intermediate network controllers 1105. Each of the window controllersin the distributed network of FIG. 12 may include a processor (e.g.,microprocessor) and a computer readable medium in electricalcommunication with the processor.

In FIG. 12, each leaf or end window controller 1410 is in communicationwith EC device(s) 400 of a single tintable window to control the tintlevel of that tintable window in the building. In the case of an IGU,the leaf or end window controller 1410 may be in communication with ECdevices 400 on multiple lites of the IGU control the tint level of theIGU. In other embodiments, each leaf or end window controller 1410 maybe in communication with a plurality of tintable windows. The leaf orend window controller 1410 may be integrated into the tintable window ormay be separate from the tintable window that it controls. Leaf and endwindow controllers 1410 in FIG. 12 may be similar to the end or leafcontrollers 1110 in FIG. 11 and/or may also be similar to windowcontroller 450 described with respect to FIG. 2.

Each wall switch 1490 can be operated by an end user (e.g., occupant ofthe room) to control the tint level and other functions of the tintablewindow in communication with the wall switch 1490. The end user canoperate the wall switch 1490 to communicate control signals to the ECdevices 400 in the associated tintable window. These signals from thewall switch 1490 may override signals from master window controller 1402in some cases. In other cases (e.g., high demand cases), control signalsfrom the master window controller 1402 may override the control signalsfrom wall switch 1490. Each wall switch 1490 is also in communicationwith the leaf or end window controller 1410 to send information aboutthe control signals (e.g. time, date, tint level requested, etc.) sentfrom wall switch 1490 back to master window controller 1402. In somecases, wall switches 1490 may be manually operated. In other cases, wallswitches 1490 may be wirelessly controlled by the end user using aremote device (e.g., cell phone, tablet, etc.) sending wirelesscommunications with the control signals, for example, using infrared(IR), and/or radio frequency (RF) signals. In some cases, wall switches1490 may include a wireless protocol chip, such as Bluetooth, EnOcean,WiFi, Zigbee, and the like. Although wall switches 1490 depicted in FIG.12 are located on the wall(s), other embodiments of system 1400 may haveswitches located elsewhere in the room.

Example of Occupancy Lookup Table

FIG. 13 is an illustration including an example of an occupancy lookuptable. The tint level in the table is in terms of T_(vis) (visibletransmission). The table includes different tint levels (T_(vis) values)for different combinations of calculated penetration depth values (2feet, 4 feet, 8 feet, and 15 feet) for a particular space type and whenthe sun angle θ_(Sun) is between the acceptance angle of the windowbetween θ₁=30 degrees and θ₂=120 degrees. The table is based on fourtint levels including 4% (lightest), 20%, 40%, and 63%. FIG. 13 alsoshows a diagram of a desk near a window and the acceptance angle of thewindow to sunlight having an angle θ_(Sun) between the angle of θ₁ andθ₂. This diagram shows the relationship between the sun angle θ_(Sun)and the location of the desk. When the angle of the sun θ_(Sun) isbetween the angle of acceptance between θ₁ and θ₂, then the sunlightcould strike the surface of the desk. If the sun angle θ_(Sun) isbetween the acceptance angle between θ₁ and θ₂ (If θ₁<θ_(Sun)<θ₂) andthe penetration depth meets the criteria to tint the window, then thattint level determined by the occupancy lookup table is sent to thewindow controller, which sends control signals to the EC devices in thewindow to transition the window to the determined tint level. These twoangles θ₁ and θ₂ can be calculated or measured for each window, andstored in the zone/group data 1508 with the other window parameters forthat zone. Another example of an occupancy lookup table can be found inFIG. 8.

V. Example of Control Logic Making Tinting Decisions Based on WhetherCurrent Time is Between Sunrise and Sunset

FIG. 14A is a flowchart 3600 showing a particular implementation of thecontrol logic shown in FIG. 5. At operation 3610, the control logicdetermines whether the current time is between sunrise and sunset. If itis either before sunrise or after sunset at operation 3610, the controllogic sends a signal to clear the tint in the tintable window andproceeds to operation 3920 to determine whether there is an override,for example, an override command received in a signal from an operator.If it is determined by the control logic to be between sunrise andsunset at operation 3610, the control logic goes on to determine whetherthe sun azimuth is between critical angles (operation 3620) of thetintable window. Although certain control methods are described withrespect to a single tintable window, it would be understood that thesecontrol methods can be used to control one or more tintable windows or azone of one or more tintable windows.

FIG. 15 depicts a room having a desk and the critical angles of thetintable window within which solar radiation shines through the tintablewindow in the room to the occupancy region. When the sun's azimuth iswithin these critical angles, the sun's glare may shine on the occupancyregion defined in this case by an occupant sitting at the desk. In FIG.25B, the sun's azimuth is shown outside the illustrated critical angles.

Returning to the flowchart in FIG. 14A, if it is determined by thecontrol logic at operation 3620 that the sun azimuth is outside thecritical angles, then Module A is bypassed, does bypassed, a “clear”tint level is passed to Module B, and Module B is used to makecalculations at operation 3800. If it is determined that the sun azimuthis between the critical angles, Module A is used to make calculations atoperation 3700, the tint level from Module A is passed to Module B, andthen Module B is used to make calculations at operation 3800, and thetint level from Module B is output.

At operation 3820, the control logic determines whether the sensor valueis below a first threshold 1 or above a second threshold 2. If thesensor value is below the first threshold 1 or above the secondthreshold 2, then the control logic does not use Module C (operation3900) to make determinations. If the sensor value is above the firstthreshold 1 and below the second threshold 2, then the control logicuses Module C to make determinations. In either case, the control logicproceeds to operation 3920 to determine whether there is an override inplace.

FIG. 14B is a graph of illumination readings from a sensor taken overtime, t, during a day that is cloudy (e.g., foggy) early in the day andsunny (clear sky) later in the day. As shown, the values of theillumination readings are below a lower limit before 7 a.m., rise abovethe lower limit and then above the upper limit, and then as the cloudsburn off after 10 a.m. the illumination readings become much higherlater in the day. While the sensor reads illumination levels below alower limit (e.g., 10 Watts/m²) before 7 a.m., the amount of radiationthrough the tintable window is not significant enough to affect occupantcomfort. In this case, a re-evaluation of tint level does not need to bemade and a defined tint level (e.g., maximum window transmissivity) isapplied. While the sensor reads between the lower and upper limit (e.g.,100 Watts/m²) after 7 a.m. and before 10 a.m., Modules A, B, and C willbe used to calculate an end tint state (level). While the sensor readsabove the upper limit (e.g., 100 Watts/m2) after 10 a.m., modules A andB will be used to calculate an end tint state.

As mentioned above, FIG. 15 depicts a room having a desk and thecritical angles of the occupancy region within which glare from the suncan shine through the tintable window and in the occupancy regiondefined by the workspace of an occupant sitting at the desk. In theillustration, the sun currently has an azimuthal angle outside thecritical angles. If the control logic determines that the sun angle(s)are outside the critical angles, then the control logic uses Module B todetermine tint level. If within the critical angles, the control logicuses Modules A and B to determine tint level. If the illumination valueis above the lower limit and below the upper limit, the control logicdetermines whether the sun angle(s) is outside the critical angles. Ifoutside the critical angles, the control logic uses Modules B and C todetermine tint level. If within the critical angles, Modules A, B, and Care used to determine tint level.

VI. Control Logic that Makes Tinting Decisions Based on Weather FeedData

Certain aspects are directed to control methods that implement controllogic that makes tinting decisions based on weather feed data receivedfrom one or more weather services and/or other data sources. Weatherfeed data generally includes data associated with weather conditionssuch as, for example, cloud coverage percentage, visibility data, windspeed data, temperature data, percentage probability of precipitation,and/or humidity. Typically weather feed data is received in a signalthrough a communication network by a window controller. The windowcontroller has a processor for performing instructions for carrying outthe control logic that can use the weather feed data to make tintingdecisions. The tint decisions are sent in a control signal to one ormore tintable windows. The instructions for performing the operations ofthe control logic are stored on memory of the window controller oranother memory accessible by the window controller.

According to certain aspects, the window controller can send a signalwith a request for the weather feed data through a communicationinterface over the communication network to one or more weather services(e.g., two weather services). The request usually includes at least thelongitude and latitude of the location of the tintable window(s) beingcontrolled by the control method implementing the control logic. Inresponse, the one or more weather services send a signal with weatherfeed data based on the specified longitude and latitude through thecommunication network through a communication interface to the windowcontroller.

The communication interface and network may be in wired or wirelessform. In some cases, a weather service may be accessible through aweather website. An example of a weather website can be found atwww.forecast.io. Another example is the National Weather Service(www.weather.gov). The weather feed data may be based on a current timeor may be forecasted at a future time.

According to certain aspects, control logic uses weather feed data frommultiple weather services. For example, the control logic may useweather feed data from two weather services. As another example, thecontrol logic to use weather feed data from three weather services, andso on. Using weather feed data from multiple weather services may bepreferable in certain cases to account for the difference sources ofdata that are used by the weather services to generate the weather feeddata. Also, weather services may also differ in their granularity oftheir weather feed data based on location. That is, certain weatherservices may offer more accurate data based on a specific location thanother services. In one example, a control logic can analyze data frommultiple weather services using statistical techniques to determine aprobable weather condition.

Since weather services may provide different weather feed data, controlmethods according to certain aspects include a preferential selection ofweather services to use for weather feed data. For example, a controlmethod may retrieve a stored listing of an order of preference of itsweather services and then select available weather services based onthis preferential order. In some cases, weather services may be placedin a preferential order based on historical accuracy or locationgranularity of weather feed data provided by those services. Afterselecting one or more weather services, the control method sends asignal(s) with requests for weather feed data to the selected weatherservices over the communication network. In one case, an overridecommand may override the use of the preferential order of the multipleweather sources. For example, an operator of the window controller mayissue an override command to select a particular weather source inmaking tint decisions instead of using the weather sources selectedbased on the preferential order.

In certain aspects, control logic combines weather feed data frommultiple weather data sources, and/or combine multiple types of weatherfeed data (e.g., cloud coverage percentage, visibility data, wind speeddata, temperature data, percentage probability of precipitation, andhumidity) from the same weather source to use in making a tintingdecision.

In some cases, control logic may apply different threshold levels orweighting factors to the weather feed data from different weatherservices. In some cases, the control logic may apply different filtersto weather feed data depending on the weather source.

Control logic that use weather feed data to make tinting decisions mayuse one type of weather feed data or may use a combination of differenttypes of weather feed data. For example, certain control logic use cloudcoverage percentage as a metric in tinting decisions. In anotherexample, certain control logic uses a combination of wind speed andpercentage of cloud cover to make tint decisions. In some cases, thecontrol logic can infer an accurate metric of determining cloudiness foruse in its tinting decisions by using a percentage cloud cover, windspeed, and/or other weather feed data.

In one aspect, a control method implements control logic that makestinting decisions by combining weather feed data received from acommunication network with data received from another local source suchas a rooftop camera (e.g. a ring sensor) and/or terrestrial data. Insome cases, the combined data may be preferred for a particularlocation.

In some embodiments, control logic uses weather feed data to determine atint level at (or just after) sunrise and/or at (or just before) sunsetbased on a determination of whether it is dark outside due to lack ofsun or due to clouds based on cloud coverage percentage from weatherfeed data. For example, if the cloud cover percentage is higher than apredetermined threshold level, the control logic determines that it is“cloudy.” If the cloud cover percentage is lower than the predeterminedlow threshold level, the control logic determines it is “not cloudy.” Inone case, the method may send a control signal to increase tint if it isjust after sunrise and it is determined to be “not cloudy.” Similarly,the control logic may send a control signal to decrease tint (e.g.,clear window) if it is determined to be “cloudy.”

Although control logic that uses weather feed data are described, inmany cases, with respect to weather feed data associated with thecurrent time, some control methods can forecast weather feed data at afuture time based on the weather feed data received from one or moreweather services or other data sources. For example, the control logicmay analyze trends in the weather feed data from selected one or moreweather sources and extrapolate a forecasted future value.

In one aspect, a control method uses control logic that refers to atable (e.g., lookup table) listing tint levels corresponding todifferent ranges of cloud coverage percentages and/or other ranges ofvalues of weather feed data. For example, the table may list a darkesttint level corresponding to a range of 0%-10% cloud coverage percentageand a clear tint level corresponding to a range of 80%-100% cloudcoverage percentage. In one exemplary implementation of such a table,control logic may determine a value of the cloud coverage percentagefrom weather feed data received from one or more weather services,determine the range of cloud coverage percentage within which thedetermined value belongs, and then determine the tint level in thattable that corresponds to that determined range.

In certain aspects, control logic uses weather feed data to augment tintdecisions made based on current time of day calculations. In some ofthese aspects, control logic uses weather feed data to augment tintingdecisions made by Module A and/or Module B (e.g., control logic shown inFIG. 5, FIG. 14A, and FIG. 17-21) based on the current time of daycalculations made at or near sunrise and sunset.

In one example, control logic uses weather feed data to determine a tintlevel in advance of sunrise and/or sunset based on a determination ofwhether it is dark outside due to lack of sun or due to clouds based oncloud coverage percentage from weather feed data. If the cloud coverpercentage is higher than a predetermined threshold level (e.g., 80%,70%, 60%, 90%, etc.), the control logic determines that it is “cloudy.”If the cloud cover percentage is lower than the predetermined thresholdlevel, the control method determines it is “not cloudy.” In one case,the control logic may send a control signal to increase tint if it isapproaching sunrise and it is determined to be “not cloudy.” Similarly,the control logic may send a control signal to decrease tint (e.g.,clear window) if it is approaching sunset and it is determined to be“cloudy.”

In another example, during a time delay period between sunrise to apredefined first time delay (T_(delay1)) after sunrise (i.e. just afterthe sun comes up) and/or a time delay period between sunset and apredefined second time delay (T_(delay2))before sunset (i.e. just beforethe sun goes down), control logic uses weather feed data from one ormore weather services to determine whether it is “cloudy” or “notcloudy.” The time delay period before sunset is determined by: theperiod between the calculated time of sunset and the calculated time ofsunset—the predefined time delay (T_(delay2)). The time delay periodafter sunrise is determined by: the period between the calculated timeof sunrise and the calculated time of sunrise+time delay 1 (T_(delay1)).T_(delay1)=T_(delay2) in certain cases. The calculated time ofsunrise/sunset may be determined based on the current date (day andyear) and latitude and longitude at the location of the tintable window.If the control logic determines that a cloud coverage percentage ishigher than a predetermined threshold level (e.g., 80%, 70%, 60%, 90%,etc.), the control logic makes the determination that it is “cloudy.” Ifthe control logic determines the cloud cover percentage to be lower thanthe predetermined threshold level, the control logic determines that itis “not cloudy.” If the control logic determines that it is “not cloudy”during the time delay period, the control logic sends a signal to usethe tint level output from Module B. If the control logic determinesthat it is “cloudy” during the time delay period, the control logicsends a signal to clear glass.

Control Methods without Available Sensor Readings and/or Module C Delay

In certain circumstances, sensor readings may not be available todetermine the current solar radiation level at the tintable window. Forexample, a tintable window may not have a sensor for measuring solarradiation levels. As another example, the tintable window may have asensor, but the sensor may not be functioning (e.g. turned off ormalfunctioning). In this last example, the control logic may includemonitoring operations to determine when the sensor is not functioning.

In situations where the tintable window does not have sensor readingsavailable, its window controller can perform instructions with logic forcertain control methods described herein that can make tinting decisionswithout sensor readings based on weather feed data received over acommunication network from one or more weather services or other sourcesof data. On a periodic basis (e.g., every five minutes, every twominutes, etc.), the control logic sends request(s) for weather feed dataover the communication network to the one or more weather services. Inresponse, the one or more weather services send signal(s) with weatherfeed data over the communication network to the window controller. Thecontrol logic determines whether it is “cloudy” or “not cloudy” based onthe received weather feed data. For example, the control logic maydetermine whether it is “cloudy” or “not cloudy” based on cloud coveragepercentage from the one or more weather services. If the cloud coverpercentage is determined to be higher than a threshold level (e.g., 80%cloud cover), the control logic determines that it is “cloudy.” If thecloud cover percentage is determined to be lower than a threshold level,the control logic determines that it is “not cloudy.” The thresholdlevel of cloudiness may be about 70% in some cases, about 80% in somecases, about 90% in some cases, or about 95% in some cases. If thecontrol logic determines that it is “cloudy,” the control methodoverrides (does not use) the clear sky radiation determinations fromModule B and/or penetration level calculations from Module A anddecreases the tint level. In one case, the control logic decreases thetint level based on the level of cloud coverage percentage. For example,the control logic may lookup an end tint level corresponding to aparticular cloud coverage percentage in a lookup table stored in memoryat the window controller.

In certain aspects, control logic includes a Module C delay operationthat sets a time delay before performing operations of Module C that maydecrease tint level. Implementation of the Module C delay operation canavoid an inappropriately low tint level in certain situations. Forexample, there may be a situation where Module C has sent a tint commandto decrease tint level just before sunrise and the duration of time thatit would take to transition (transition time) to the lower tint level islong enough that the transition is complete after sunrise. In thissituation the tintable window may be tinted inappropriately low justafter sunrise when the sun radiation may shine at a low angle throughthe tintable window causing glare. In these cases, the control logic canimplement a Module C delay operation to delay implementing theoperations of Module C that might reduce tint level inappropriately. Inone example, the time delay (T_(delay)) is for a period of time such as,for example, from sunrise until just after sunrise or as anotherexample, just before sunset until sunset. In another example, the timedelay (T_(delay)) is for a period of time such as, for example, justbefore sunrise until just after sunrise or as another example, justbefore sunset until just after sunset. During the Module C delay, thecontrol logic uses the results from the determinations made in Modules Aand/or B to determine the tint level and Module C is bypassed. The valueof the T_(delay) can be, for example, one hour, two hours, three hours,15 minutes, 20 minutes, 30 minutes, etc. In one example, the T_(delay)is set to the transition time of the tintable window which is stored inmemory at the window controller.

1. Example of Control Method with Module C Delay

FIG. 16 is a flowchart 2100 showing a particular implementation ofcontrol logic shown in FIG. 5, according to an embodiment. The controllogic uses Modules A, B, and C to determine tint levels for a tintablewindow and sends instructions to transition the tintable window. In thisexample, the control logic is for a control method that uses a Module Cdelay.

Although this illustrated control logic in FIG. 16 and other controllogic described herein (e.g., logic in FIGS. 14A, 16, 17, 18, 19, 20,21) is described with respect to a single tintable window, it would beunderstood that the control logic can be used to determine the tintlevel for multiple tintable windows or a zone of one or more tintablewindows. When determining the tint level for a zone, a representativetintable window may be used in certain logic operations to determine thetint level and the determined tint level may be implemented at the oneor more windows of that zone.

At operation 2110, the control logic determines whether the sun azimuthis between the critical angles of the tintable window at the currenttime. An example of a room having a desk and the associated criticalangles of the sun shining through the tintable window is illustrated inFIG. 15. If the sun's azimuth is within the critical angles, then thesun's glare is shining on the occupancy region. In FIG. 15, theoccupancy region is defined by an occupant sitting at the desk and thesun's azimuth angle is shown outside the critical angles of the tintablewindow. Although this control method and other control methods aredescribed herein with respect to a single tintable window, it would beunderstood that these control methods can be used to control multipletintable windows or a zone of one or more tintable windows.

If it is determined at operation 2110 that the sun azimuth is outsidethe critical angles at the current time, the control logic bypasses theoperations of Module A, passing a “clear” level to Module B. The controllogic then uses the operations of Module B to determine and output atint level based on a clear sky irradiance calculation (“T2”) (operation2130).

If it is determined at operation 2110 that the sun azimuth is betweenthe critical angles, the operations of Module A are used to determineand output a tint level (“T1”) based on sunlight penetration (operation2120). Then, the operations of Module B are used (operation 2130) todetermine and output a tint level from Module B based on a clear skyirradiance calculation (“T2”), and the control logic proceeds tooperation 2140. Typically, the operations of Module B increase the tintfrom the tint level (“T1”) output from the operations of Module A.

In the example shown in FIG. 16, the control logic has a Module C delaythat avoids using (bypasses) the operations of Module C which mightreduce tint level from the output in Modules A/B, for a Module C delaytime period, which is a period of time near sunrise or sunset based onthe Module C delay, T_(delay). At operation 2140, the control logicdetermines whether the current time is within the Module C delay bydetermining whether the current time is within the time delay period.For example, the Module C delay time period may be defined as a periodof time starting at sunrise and lasting a T_(delay) after sunrise. Inthis example, the control logic determines whether Sunrise<CurrentTime<Sunrise+T_(delay1). As another example, the Module C delay timeperiod may be defined as a period of time starting at a predefined timebefore sunset and lasting until sunset. In this example, the controllogic determines whether Sunset−T_(delay2)<Current Time<Sunset. Thecontrol logic calculates the time of sunrise and/or sunset based on anastronomical calculator using the current date. T_(delay) can be, forexample, one hour, two hours, three hours, 15 minutes, 20 minutes, 30minutes, etc. T_(delay) can be set to the transition time of the window.

Although the control logic described in FIGS. 16-21 is described with aModule C time delay at sunrise and/or at sunset, other time delayperiods may be used with this control logic according to another aspect.

If it is determined by the control logic at operation 2140 that thecurrent time is within the Module C delay, the tint level output fromModule B determined at operation 2130 is used (2170), Module C isbypassed, and the control logic proceeds to operation 2180 to determinewhether there is an override in place. If an override is determined tobe in place, the control logic sends a control command at operation 2190to the voltage source of the tintable window to provide a voltageprofile that transitions tint to the override tint level. If no overrideis in place, the control logic sends a control command at operation 2190to the voltage source for the tintable window to provide a voltageprofile that transitions tint to the tint level determined by Module Bat operation 2130.

If it is determined by the control logic at operation 2140 that thecurrent time is outside the Module C delay time period, the controllogic determines whether the current sensor reading is between a lowerlimit (Threshold 2) and an upper limit (Threshold 1) (i.e. Lower Limit(Threshold 2)<Current Sensor Reading<Upper Limit (Threshold 1) atoperation 2150. If the current sensor reading is between the lower limit(Threshold 2) and the upper limit (Threshold 1), the tint level outputfrom Module B is used (operation 2170), Module C is bypassed, and thecontrol logic proceeds to operation 2180 to determine whether there isan override in place. If an override is determined to be in place, thecontrol logic sends a control command at operation 2190 to the voltagesource of the tintable window to provide a voltage profile thattransitions tint to the override tint level. If no override is in place,the control logic sends a control command at operation 2190 to thevoltage source for the tintable window to provide a voltage profile thattransitions tint to the tint level determined by Module B at operation2130.

If the control logic determines at operation 2150 that the currentsensor reading is above the upper limit (Threshold 1) or below the lowerlimit (Threshold 2), then the operations of Module C are implemented(operation 2160) to augment the tint level based on the current sensorreading of irradiance to account for obstructed and/or reflectedradiation. Generally, Module C reduces tint from the tint level outputfrom Module AB since it accounts for obstructed and reflected radiation.The control logic then proceeds to operation 2180 to determine whetherthere is an override in place. If an override is determined to be inplace, the control logic sends a control command at operation 2190 tothe voltage source of the tintable window to provide a voltage profilethat transitions tint to the override tint level. If no override is inplace, the control logic sends a control command at operation 2190 tothe voltage source of the tintable window to provide a voltage profilethat transitions tint to the tint level output by Module C at operation2160.

2. Example of Control Method with Module C delay

FIG. 17 is a flowchart 2200 showing a particular implementation of thecontrol logic shown in FIG. 5, according to an embodiment. The controllogic uses Modules A, B, and C to determine tint levels for a tintablewindow and sends instructions to transition the window. In this example,the control logic is for a control method that uses a Module C delay.Although the control logic is described in terms of a single tintablewindow, it would be understood that the control logic can be used todetermine the tint level for multiple tintable windows or a zone of oneor more tintable windows. When determining the tint level for a zone, arepresentative tintable window may be used in certain logic operationsto determine the tint level and the determined tint level may beimplemented at the one or more windows of that zone.

At operation 2210, the control logic determines whether the sun azimuthis between the critical angles of the tintable window at the currenttime. Although this control method and other control methods aredescribed herein with respect to a single tintable window, it would beunderstood that these control methods can be used to control multipletintable windows or a zone of one or more tintable windows.

If it is determined at operation 2210 that the sun azimuth is outsidethe critical angles at the current time, the control logic bypasses theoperations of Module A, passing a “clear” level is passed to Module B.The control logic then uses the operations of Module B to determine andoutput a tint level based on a clear sky irradiance calculation (“T2”).

If it is determined at operation 2210 that the sun azimuth is betweenthe critical angles, the operations of Module A determine and output atint level (“T1”) based on sunlight penetration (operation 2220). Then,the operations of Module B are used (operation 2230) to determine andoutput a tint level from Module B based on a clear sky irradiancecalculation (“T2”), and the control logic proceeds to operation 2232.Then, Module B is used at operation 2230 to determine a tint level fromModule B based on a clear sky irradiance calculation (“T2”), and thecontrol logic proceeds to operation 2232. Typically, the operations ofModule B increase the tint from the tint level (“T1”) output from theoperations of Module A.

At operation 2232, the control logic determines whether there are nosensor readings available (e.g., when the tintable window is indemonstration mode). For example, the control logic may determine thatsensor readings are not available if the tintable window is ademonstration window or an infill window without a sensor. In anotherexample, the control logic may determine that sensor readings are notavailable if the tintable window has a sensor, but the sensor is notfunctioning.

If the control logic determines that the tintable window does not havesensor readings available, the control logic proceeds to set the tintlevel to clear the glass at operation 2234, and then proceeds tooperation 2280 to determine whether there is an override in place. If anoverride is determined to be in place, the control logic sends a controlcommand at operation 2290 to the voltage source of the tintable windowto provide a voltage profile that transitions tint to the override tintlevel. If no override is in place, the control logic sends a controlcommand at operation 2190 to the voltage source for the tintable windowto provide a voltage profile that transitions tint to the tint level toclear the glass.

If, however, the control logic determines at operation 2232 that sensorreadings are available, the control logic proceeds to operation 2240. Atoperation 2240, the control logic determines whether the current time iswithin the time period of the Module C delay. For example, the Module Cdelay time period may be defined as a period of time starting at sunriseand lasting a T_(delay) after sunrise. In this example, the controllogic determines whether Sunrise<Current Time<Sunrise+T_(delay1). Asanother example, the Module C delay time period may be defined as aperiod of time starting at a predefined time before sunset and lastinguntil sunset. In this example, the control logic determines whetherSunset−T_(delay2)<Current Time<Sunset. The control logic calculates thetime of sunrise and/or sunset based on an astronomical calculator usingthe current date. T_(delay) can be, for example, one hour, two hours,three hours, 15 minutes, 20 minutes, 30 minutes, etc. T_(delay) can beset to the transition time of the window.

If it is determined by the control logic at operation 2240 that thecurrent time is within the Module C delay, then the tint level outputfrom Module B determined at operation 2230 is used (2270), Module C isbypassed, and the control logic proceeds to operation 2280 to determinewhether there is an override in place. If an override is determined tobe in place, the control logic sends a control command at operation 2290to the voltage source of the tintable window to provide a voltageprofile that transitions tint to the override tint level. If no overrideis in place, the control logic sends a control command at operation 2290to the voltage source for the tintable window to provide a voltageprofile that transitions tint to the tint level determined by Module Bat operation 2230.

If an override is determined to be in place, the control logic sends acommand at operation 2290 to the voltage source of the window to providea voltage profile that transitions tint to the override tint level atoperation 2290. If it is determined that no override is in place, thecontrol logic sends a control command at operation 2290 to the voltagesource for window to provide a voltage profile that transitions tint tothe tint level determined by Modules B.

If it is determined by the control logic at operation 2240 that thecurrent time is outside the Module C delay, the control logic determineswhether the current sensor reading is between a lower limit (Threshold2) and an upper limit (Threshold 1) (i.e. Lower Limit (Threshold2)<Current Sensor Reading<Upper Limit (Threshold 1) at operation 2250.

If the current sensor reading is between the lower limit (Threshold 2)and the upper limit (Threshold 1), the tint level output from Module Bis used (operation 2270), Module C is bypassed, and the control logicproceeds to operation 2280 to determine whether there is an override inplace. If an override is determined to be in place, the control logicsends a control command at operation 2290 to the voltage source of thetintable window to provide a voltage profile that transitions tint tothe override tint level. If no override is in place, the control logicsends a control command at operation 2290 to the voltage source for thetintable window to provide a voltage profile that transitions tint tothe tint level determined by Module B at operation 2230.

If the control logic determines at operation 2250 that the currentsensor reading is above the upper limit (Threshold 1) or below the lowerlimit (Threshold 2), then the operations of Module C are implemented(operation 2260) to augment the tint level based on the current sensorreading of irradiance to account for obstructed and/or reflectedradiation. Generally, Module C reduces tint from the tint level outputfrom Module A/B since it accounts for obstructed and reflectedradiation. Then, the control logic proceeds to operation 2280 todetermine whether there is an override in place. If an override is inplace, the control method sends a command operation 2290 to the voltagesource of the window to provide a voltage profile that transitions tintto the override tint level. If no override is in place, the controlmethod sends a control command operation 2290 to the voltage source forwindow or zone to provide a voltage profile that transitions tint to thetint level output by Module C at operation 2160.

3. Example of Control Method with Module C Delay and Weather Feed Data

FIG. 18 is a flowchart 2300 showing a particular implementation ofcontrol logic shown in FIG. 5, according to an embodiment. The controllogic uses Modules A, B, and C to determine tint levels for a tintablewindow and sends instructions to transition the window. In this example,the control logic is for a control method that uses a Module C delay andweather feed data. Although the control logic is described in terms of asingle tintable window, it would be understood that the control logiccan be used to determine the tint level for multiple tintable windows ora zone of one or more tintable windows. When determining the tint levelfor a zone, a representative tintable window may be used in certainlogic operations to determine the tint level and the determined tintlevel may be implemented at the one or more windows of that zone.

At operation 2310, the control logic determines whether the sun azimuthis between the critical angles of the tintable window at the currenttime. If it is determined at operation 2310 that the sun azimuth isoutside the critical angles at the current time, the control logicbypasses the operations of Module A, passing a “clear” level is passedto Module B. The control logic then uses the operations of Module B todetermine and output a tint level based on a clear sky irradiancecalculation (“T2”).

If it is determined at operation 2310 that the sun azimuth is betweenthe critical angles, the operations of Module A determine and output atint level (“T1”) based on sunlight penetration (operation 2320). Then,the operations of Module B are used (operation 2330) to determine andoutput a tint level from Module B based on a clear sky irradiancecalculation (“T2”), and the control logic proceeds to operation 2340.Then, Module B is used at operation 2330 to determine a tint level fromModule B based on a clear sky irradiance calculation (“T2”), and thecontrol logic proceeds to operation 2232. Typically, the operations ofModule B increase the tint from the tint level (“T1”) output from theoperations of Module A.

In certain examples such as the one shown in FIGS. 17 and 18, thecontrol logic sets a Module C delay that bypasses the operations ofModule C which might reduce tint level for a period of time (T_(delay))at sunrise and/or sunset. At operation 2340, the control logicdetermines whether the current time is within the time period of theModule C delay period. For example, the Module C delay time period maybe defined as a period of time starting at sunrise and lasting aT_(delay) after sunrise. In this example, the control logic determineswhether Sunrise<Current Time<Sunrise+T_(delay1). As another example, theModule C delay time period may be defined as a period of time startingat a predefined time before sunset and lasting until sunset. In thisexample, the control logic determines whether Sunset−T_(delay2)<CurrentTime<Sunset. The control logic calculates the time of sunrise and/orsunset based on an astronomical calculator using the current date.T_(delay) can be, for example, one hour, two hours, three hours, 15minutes, 20 minutes, 30 minutes, etc. T_(delay) can be set to thetransition time of the window.

If it is determined by the control logic at operation 2340 that thecurrent time is within the time period of the Module C delay, thenModule C is bypassed, and the control logic uses weather feed data todetermine whether there is cloud cover at operation 2342. In oneexample, the control logic sends a request for weather feed data to oneor more weather services over a communication network. In response, theone or more weather services sends weather feed data to the windowcontroller executing the instructions for the control logic. The controllogic determines the current cloud over percentage from the weather feeddata.

At operation 2342, the control logic determines whether the currentcloud cover percentage is less than a threshold percentage level suchas, for example, 80%. If the control logic determines that the cloudcover percentage is less than the threshold level, the control logicdetermines that it is a “not cloudy” condition and proceeds to operation2370 to use the tint level output from Module B at operation 2330. Then,the control logic proceeds to operation 2380 to determine whether thereis an override in place. If an override is determined to be in place,the control logic sends a control command at operation 2390 to thevoltage source of the tintable window to provide a voltage profile thattransitions tint to the override tint level. If no override is in place,the control logic sends a control command at operation 2390 to thevoltage source for the tintable window to provide a voltage profile thattransitions tint to the tint level output from Module B at operation2330.

If, at operation 2342, the control logic determines that the cloud coverpercentage is greater than the threshold level, the control logicdetermines it is a “cloudy” condition and determines sets the tint levelto clear the tintable window at operation 2344. Then, the control logicproceeds to operation 2380 to determine whether there is an override inplace. If an override is determined to be in place, the control logicsends a control command at operation 2390 to the voltage source of thetintable window to provide a voltage profile that transitions tint tothe override tint level. If no override is in place, the control logicsends a control command at operation 2390 to the voltage source for thetintable window to provide a voltage profile that transitions tint tothe tint level to clear the tintable window (e.g., transition to ableached end state).

If it is determined by the control logic at operation 2340 that thecurrent time is outside the Module C delay time period, the controllogic determines whether the current sensor reading is between a lowerlimit (Threshold 2) and an upper limit (Threshold 1) (i.e. Lower Limit(Threshold 2)<Current Sensor Reading<Upper Limit (Threshold 1) atoperation 2350. If the current sensor reading is between the lower limit(Threshold 2) and the upper limit (Threshold 1), the tint level outputfrom Module B is used (operation 2370), Module C is bypassed, and thecontrol logic proceeds to operation 2380 to determine whether there isan override in place. If an override is determined to be in place, thecontrol logic sends a control command at operation 2390 to the voltagesource of the tintable window to provide a voltage profile thattransitions tint to the override tint level. If no override is in place,the control logic sends a control command at operation 2390 to thevoltage source for the tintable window to provide a voltage profile thattransitions tint to the tint level determined by Module B at operation2330.

If the control logic determines at operation 2350 that the currentsensor reading is above the upper limit (Threshold 1) or below the lowerlimit (Threshold 2), then the operations of Module C are implemented(operation 2360) to augment the tint level based on the current sensorreading of irradiance to account for obstructed and/or reflectedradiation. Generally, Module C reduces tint from the tint level outputfrom Module A/B since it accounts for obstructed and reflectedradiation. The control logic then proceeds to operation 2380 todetermine whether there is an override in place. If an override isdetermined to be in place, the control logic sends a control command atoperation 2390 to the voltage source of the tintable window to provide avoltage profile that transitions tint to the override tint level. If nooverride is in place, the control logic sends a control command atoperation 2390 to the voltage source of the tintable window to provide avoltage profile that transitions tint to the tint level output by ModuleC at operation 2360.

4. Example of Control Method with Module C Delay and Weather Feed Data

FIG. 19 is a flowchart 2400 showing a particular implementation ofcontrol logic shown in FIG. 5, according to an embodiment. The controllogic uses Modules A, B, and C to determine tint levels for a tintablewindow and sends instructions to transition the window. In this example,the control logic is for a control method that uses a Module C delay andweather feed data.

At operation 2410, the control logic determines whether the sun azimuthis between the critical angles of the tintable window at the currenttime. If it is determined at operation 2410 that the sun azimuth isoutside the critical angles at the current time, the control logicbypasses the operations of Module A, passing a “clear” level is passedto Module B. The control logic then uses the operations of Module B todetermine and output a tint level based on a clear sky irradiancecalculation (“T2”) (operation 2430) and the control logic proceeds tooperation 2432.

If it is determined at operation 2410 that the sun azimuth is betweenthe critical angles, the operations of Module A are used to determineand output a tint level (“T1”) based on sunlight penetration (operation2420). Then, the operations of Module B are used (operation 2430) todetermine and output a tint level from Module B based on a clear skyirradiance calculation (“T2”), and the control logic proceeds tooperation 2432. Typically, the operations of Module B increase the tintfrom the tint level (“T1”) output from the operations of Module A.

At operation 2432, the control logic determines whether there are nosensor readings available (e.g., when the tintable window is indemonstration mode). For example, the control logic may determine thatsensor readings are not available if the tintable window is ademonstration window or an infill window without a sensor. In anotherexample, the control logic may determine that sensor readings are notavailable if the tintable window has a sensor, but the sensor is notfunctioning.

If the control logic determines there are no sensor readings available,the control logic proceeds to operation 2434 to use weather feed data todetermine whether there is cloud cover. The control logic determineswhether there is cloud cover by determining whether the cloud coverpercentage is less than a threshold level such as, for example, 80%. Ifthe control logic determines that the cloud cover percentage is lessthan the threshold level, the control logic determines that it is a “notcloudy” condition and proceeds to operation 2470 to use the tint leveloutput from Module B at operation 2430. Then, the control logic proceedsto operation 2480 to determine whether there is an override in place. Ifan override is determined to be in place, the control logic sends acontrol command at operation 2490 to the voltage source of the tintablewindow to provide a voltage profile that transitions tint to theoverride tint level. If no override is in place, the control logic sendsa control command at operation 2490 to the voltage source for thetintable window to provide a voltage profile that transitions tint tothe tint level output from Module B at operation 2430.

If, at operation 2434, the control logic determines that the cloud coverpercentage is greater than the threshold level, the control logicdetermines it is a “cloudy” condition and determines sets the tint levelto clear the tintable window at operation 2436. Then, the control logicproceeds to operation 2480 to determine whether there is an override inplace. If an override is determined to be in place, the control logicsends a control command at operation 2490 to the voltage source of thetintable window to provide a voltage profile that transitions tint tothe override tint level. If no override is in place, the control logicsends a control command at operation 2490 to the voltage source for thetintable window to provide a voltage profile that transitions tint tothe tint level to clear the tintable window (e.g., transition to ableached end state).

If, however, the control logic determines at operation 2432 that sensorreadings are available, the control logic proceeds to operation 2440. Atoperation 2440, the control logic determines whether the current time iswithin the Module C delay period. For example, the Module C delay timeperiod may be defined as a period of time starting at sunrise andlasting a T_(delay) after sunrise. In this example, the control logicdetermines whether Sunrise<Current Time<Sunrise+T_(delay1). As anotherexample, the Module C delay time period may be defined as a period oftime starting at a predefined time before sunset and lasting untilsunset. In this example, the control logic determines whetherSunset−T_(delay2)<Current Time<Sunset. The control logic calculates thetime of sunrise and/or sunset based on an astronomical calculator usingthe current date. T_(delay) can be, for example, one hour, two hours,three hours, 15 minutes, 20 minutes, 30 minutes, etc. T_(delay) can beset to the transition time of the window.

If it is determined at operation 2440 that the current time is withinthe time period of the Module C delay, then Module C is bypassed, andthe control logic proceeds to operation 2434 to use weather feed data todetermine whether there is cloud cover. For example, the control logicmay send a request for weather feed data to one or more weather servicesover a communication network. In response, the one or more weatherservices sends weather feed data to the window controller executing theinstructions for the control logic. The control logic determines thecurrent cloud over percentage from the weather feed data.

If it is determined by the control logic at operation 2440 that thecurrent time is outside the Module C delay time period, the controllogic determines whether the current sensor reading is between a lowerlimit (Threshold 2) and an upper limit (Threshold 1) (i.e. Lower Limit(Threshold 2)<Current Sensor Reading<Upper Limit (Threshold 1) atoperation 2450. If the current sensor reading is between the lower limit(Threshold 2) and the upper limit (Threshold 1), the tint level outputfrom Module B is used (operation 2470), Module C is bypassed, and thecontrol logic proceeds to operation 2480 to determine whether there isan override in place. If an override is determined to be in place, thecontrol logic sends a control command at operation 2490 to the voltagesource of the tintable window to provide a voltage profile thattransitions tint to the override tint level. If no override is in place,the control logic sends a control command at operation 2490 to thevoltage source for the tintable window to provide a voltage profile thattransitions tint to the tint level determined by Module B at operation2430.

If the control logic determines at operation 2450 that the currentsensor reading is above the upper limit (Threshold 1) or below the lowerlimit (Threshold 2), then the operations of Module C are implemented(operation 2460) to augment the tint level based on the current sensorreading of irradiance to account for obstructed and/or reflectedradiation. Generally, Module C reduces tint from the tint level outputfrom Module A/B since it accounts for obstructed and reflectedradiation. The control logic then proceeds to operation 2480 todetermine whether there is an override in place. If an override isdetermined to be in place, the control logic sends a control command atoperation 2490 to the voltage source of the tintable window to provide avoltage profile that transitions tint to the override tint level. If nooverride is in place, the control logic sends a control command atoperation 2490 to the voltage source of the tintable window to provide avoltage profile that transitions tint to the tint level output by ModuleC at operation 2460.

5. Example of Control Method with Module C Delay and Weather Feed Data

FIG. 20 is a flowchart 2500 showing a particular implementation ofcontrol logic shown in FIG. 5, according to an embodiment. FIG. 21 is aflowchart of the operations within Module C2 2560 of the flowchart shownin FIG. 20, according to an embodiment. The control logic uses ModulesA, B, and C2 to determine tint levels for a tintable window and sendsinstructions to transition the tintable window. In this example, thecontrol logic is for a control method that uses a Module C2 delay andweather feed data. Although the control logic is described in terms of asingle tintable window, it would be understood that the control logiccan be used to determine the tint level for multiple tintable windows ora zone of one or more tintable windows.

At operation 2510, the control logic determines whether the sun azimuthis between the critical angles of the tintable window at the currenttime. If it is determined at operation 2510 that the sun azimuth isoutside the critical angles at the current time, the control logicbypasses the operations of Module A, passing a “clear” level to ModuleB. The control logic then uses the operations of Module B to determineand output a tint level based on a clear sky irradiance calculation(“T2”) (operation 2530).

If it is determined at operation 2510 that the sun azimuth is betweenthe critical angles, the operations of Module A are used to determineand output a tint level (“T1”) based on sunlight penetration (operation2520). Then, the operations of Module B are used (operation 2530) todetermine and output a tint level from Module B based on a clear skyirradiance calculation (“T2”), and the control logic proceeds tooperation 2532. Typically, the operations of Module B increase the tintfrom the tint level (“T1”) output from the operations of Module A.

At operation 2532, the control logic determines whether there are nosensor readings available (e.g., when the tintable window is indemonstration mode). For example, the control logic may determine thatsensor readings are not available if the tintable window is ademonstration window or an infill window without a sensor. In anotherexample, the control logic may determine that sensor readings are notavailable if the tintable window has a sensor, but the sensor is notfunctioning.

If the control logic determines there are no sensor readings available,the control logic proceeds to operation 2534 to use weather feed data todetermine whether there is cloud cover. The control logic determineswhether there is cloud cover by determining whether the cloud coverpercentage is less than a threshold level such as, for example, 80%. Ifthe control logic determines that the cloud cover percentage is lessthan the threshold level, the control logic determines that it is a “notcloudy” condition and proceeds to operation 2570 to use the tint leveloutput from Module B at operation 2530. Then, the control logic proceedsto operation 2580 to determine whether there is an override in place. Ifan override is determined to be in place, the control logic sends acontrol command at operation 2590 to the voltage source of the tintablewindow to provide a voltage profile that transitions tint to theoverride tint level. If no override is in place, the control logic sendsa control command at operation 2590 to the voltage source for thetintable window to provide a voltage profile that transitions tint tothe tint level output from Module B at operation 2530.

If, at operation 2534, the control logic determines that the cloud coverpercentage is greater than the threshold level, the control logicdetermines it is a “cloudy” condition and determines sets the tint levelto clear the tintable window at operation 2536. Then, the control logicproceeds to operation 2580 to determine whether there is an override inplace. If an override is determined to be in place, the control logicsends a control command at operation 2590 to the voltage source of thetintable window to provide a voltage profile that transitions tint tothe override tint level. If no override is in place, the control logicsends a control command at operation 2590 to the voltage source for thetintable window to provide a voltage profile that transitions tint tothe tint level to clear the tintable window (e.g., transition to ableached end state).

If, however, the control logic determines at operation 2532 that sensorreadings are available, the control logic proceeds to operation 2540. Atoperation 2540, the control logic determines whether the current time iswithin the Module C2 delay by determining whether the current time iswithin the time delay period. For example, the Module C2 delay timeperiod may be defined as a period of time starting at sunrise andlasting a T_(delay) after sunrise. In this example, the control logicdetermines whether Sunrise<Current Time<Sunrise+T_(delay1). As anotherexample, the Module C delay time period may be defined as a period oftime starting at a predefined time before sunset and lasting untilsunset. In this example, the control logic determines whetherSunset−T_(delay2)<Current Time<Sunset. The control logic calculates thetime of sunrise and/or sunset based on an astronomical calculator usingthe current date. T_(delay) can be, for example, one hour, two hours,three hours, 15 minutes, 20 minutes, 30 minutes, etc. T_(delay) can beset to the transition time of the window.

If it is determined at operation 2540 that the current time is withinthe module C delay, then Module C2 is bypassed, and the control logicproceeds to operation 2534 to use weather feed data to determine cloudcover. For example, the control logic may send a request for weatherfeed data to one or more weather services over a communication network.In response, the one or more weather services sends weather feed data tothe window controller executing the instructions for the control logic.The control logic determines the current cloud over percentage from theweather feed data.

If it is determined at operation 2540 that the current time is outsidethe Module C2 delay time period, the control logic determines whetherthe current sensor reading is between a lower limit (Threshold 2) and anupper limit (Threshold 1) (i.e. Lower Limit (Threshold 2)<Current SensorReading<Upper Limit (Threshold 1) at operation 2550. If the currentsensor reading is between the lower limit (Threshold 2) and the upperlimit (Threshold 1), the tint level output from Module B is used(operation 2570), Module C2 is bypassed, and the control logic proceedsto operation 2580 to determine whether there is an override in place. Ifan override is determined to be in place, the control logic sends acontrol command at operation 2590 to the voltage source of the tintablewindow to provide a voltage profile that transitions tint to theoverride tint level. If no override is in place, the control logic sendsa control command at operation 2590 to the voltage source for thetintable window to provide a voltage profile that transitions tint tothe tint level determined by Module B at operation 2530.

If the control logic determines at operation 2550 that the currentsensor reading is above the upper limit (Threshold 1) or below the lowerlimit (Threshold 2), then the operations of Module C2 are implemented(operation 2560) to augment the tint level based on the current sensorreading of irradiance to account for obstructed and/or reflectedradiation. Generally, Module C2 reduces tint from the tint level outputfrom Module AB since it accounts for obstructed and reflected radiation.Depending on the operations from Module C2 as described with referenceto FIG. 21, the control logic may proceed to operation 2570 to use thetint level output from Module B, to operation 2536 to set a tint levelto clear (“clear the glass”), or to operation 2580 to determine whetherthere is an override in place. If the operations of Module C2 in FIG. 21indicate that the control logic proceeds to operation 2580 and anoverride is determined to be in place, the control logic sends a controlcommand at operation 2590 to the voltage source of the tintable windowto provide a voltage profile that transitions tint to the override tintlevel. If the operations of Module C2 in FIG. 21 indicate that thecontrol logic proceeds to operation 2580 and no override is in place,the control logic sends a control command at operation 2590 to thevoltage source of the tintable window to provide a voltage profile thattransitions tint to the tint level output by Module C2 at operation2560.

FIG. 21 illustrates the details of the operations of Module C2. Atoperation 2610, the control logic sends a signal to a sensor to take areading. In response, the sensor takes a measurement and sends a signalto the window controller with the sensor reading. At operation 2620, thecontrol logic sends a signal with a request for weather feed data to theone or more weather services (or other sources of weather feed data)over a communications network. In response, the one or more weatherservices send a signal or signals with weather feed data to the windowcontroller. The control logic also applies a median filter to theweather feed data if multiple weather services are used. The medialfilter calculates a single value from the multiple values received frommultiple weather feed services. In one example, a median filter maydetermine a mean value from the weather feed data received from multipleweather services. As another example, a median filter may determine anaverage value of the weather feed data received from multiple weatherservices.

At operation 2630, the control logic determines whether the sensorreadings and the weather feed data are good. In some cases, informationis considered good if it is available.

At operation 2640, the control logic determines whether the sensorreadings agree with the weather feed data. The control logic maydetermine what condition the sensor readings are showing and whatcondition the weather feed data is showing. For example, the controllogic may determine that cloud coverage percentage of the weather feeddata is showing “cloudy” if it is above a cloud coverage threshold leveland “not cloudy/sunny” if it is below a cloud coverage threshold level.In this example, the control logic may also determine that the sensorreadings are showing “cloudy” if below a radiation threshold level and“not cloudy/sunny” if above a radiation threshold level. If the controllogic determines that the sensor readings agree with the weather feeddata by showing the same condition (both “cloudy” or both “notcloudy/sunny”), the control logic proceeds to operation 2540. If thecontrol logic determines that the sensor readings do not agree with theweather feed data, the control logic proceeds to operation 2650.

At operation 2650, the control logic determines whether the sensorreadings are showing “sunny” and the cloud coverage percentage isshowing “cloudy.” If the sensor readings are showing “sunny” and thecloud coverage percentage is showing “cloudy,” then the control logicuses sensor readings and not the cloud coverage percentage to determinea tint level and the control logic proceeds to operation 2580. If thesensor readings are showing “cloudy” and the cloud coverage percentageis showing “sunny,” then the control logic uses the cloud coveragepercentage to determine a tint level and the control logic proceeds tooperation 2540. In this way, the control logic uses the moreconservative (darker) tint level for a “sunny” condition if the sensorreadings do not agree with the cloud coverage data.

If, at operation 2630, the control logic determines that the sensorreadings or the weather feed data is bad, then the control logicproceeds to operation 2680. At operation 2680, the control logicdetermines whether the sensor readings are bad. If the sensor readingsare not bad, then the control logic proceeds to operation 2692 to usethe good sensor data, and proceed to operation 2580. The data may beconsidered bad if it is not available.

If the control logic determines that the sensor readings are bad atoperation 2680, the control logic determines whether there is percentagecloud coverage data available. If the percentage cloud coverage data isavailable, the control logic uses the cloud coverage data at operation2720 and proceeds to operation 2540. If the percentage cloud coveragedata is not available, the control logic uses the sensor readings atoperation 2710 and proceeds to operation 2580.

The control methods described herein make tinting decisions based onstatistically assessments of macro-oscillations in the photosensorreadings and other input data. In one embodiment, tint decisions basedby the control method may also take into account micro-oscillations suchas by including box cars. An example of control methods that use boxcarscan be found in PCT application PCT/US15/29675 titled “CONTROL METHODFOR TINTABLE WINDOWS,” and filed on Nov. 12, 2015, which is herebyincorporated by reference in its entirety.

Modifications, additions, or omissions may be made to any of theabove-described control logic, other control logic and their associatedcontrol methods (e.g., logic described with respect to FIGS. 5, 6, 7,10, 14, and 17-21 without departing from the scope of the disclosure.Any of the logic described above may include more, fewer, or other logiccomponents without departing from the scope of the disclosure.Additionally, the operations of the described logic may be performed inany suitable order without departing from the scope of the disclosure.

Also, modifications, additions, or omissions may be made to theabove-described systems (e.g., system described with respect to FIG. 12)or components of a system without departing from the scope of thedisclosure. The components of the may be integrated or separatedaccording to particular needs. For example, the master networkcontroller 1403 and intermediate network controller 1405 may beintegrated into a single window controller. Moreover, the operations ofthe systems can be performed by more, fewer, or other components.Additionally, operations of the systems may be performed using anysuitable logic comprising software, hardware, other logic, or anysuitable combination of the preceding.

It should be understood that the present invention as described abovecan be implemented in the form of control logic using computer softwarein a modular or integrated manner. Based on the disclosure and teachingsprovided herein, a person of ordinary skill in the art will know andappreciate other ways and/or methods to implement the present inventionusing hardware and a combination of hardware and software.

Any of the software components or functions described in thisapplication, may be implemented as software code to be executed by aprocessor using any suitable computer language such as, for example,Java, C++ or Python using, for example, conventional or object-orientedtechniques. The software code may be stored as a series of instructions,or commands on a computer readable medium, such as a random accessmemory (RAM), a read only memory (ROM), a magnetic medium such as ahard-drive or a floppy disk, or an optical medium such as a CD-ROM. Anysuch computer readable medium may reside on or within a singlecomputational apparatus, and may be present on or within differentcomputational apparatuses within a system or network.

Although the foregoing disclosed embodiments have been described in somedetail to facilitate understanding, the described embodiments are to beconsidered illustrative and not limiting. It will be apparent to one ofordinary skill in the art that certain changes and modifications can bepracticed within the scope of the appended claims.

One or more features from any embodiment may be combined with one ormore features of any other embodiment without departing from the scopeof the disclosure. Further, modifications, additions, or omissions maybe made to any embodiment without departing from the scope of thedisclosure. The components of any embodiment may be integrated orseparated according to particular needs without departing from the scopeof the disclosure.

1. A method of controlling tint of a tintable window, the methodcomprising: receiving weather feed data from one or more data servicesover a communication network and determining a weather condition basedon the weather feed data; and if a current time is within a time delayperiod at sunrise or sunset, determining a tint level for the tintablewindow based on the weather condition; and sending a tint command totransition the tintable window to the tint level.
 2. The method ofcontrolling tint of the tintable window of claim 1, wherein the timedelay period is between sunrise and a first time delay after sunrise orbetween sunset and a second time delay before sunset.
 3. The method ofcontrolling tint of the tintable window of claim 1, further comprisingcalculating a solar azimuthal angle based on the current time and thelatitude and longitude of a building having the tintable window; anddetermining whether the solar azimuthal angle is between or outsidecritical angles of the tintable window; if the solar azimuthal angle isdetermined to be outside the critical angles of the tintable window, thetint level is determined also based on a calculation of clear skyirradiance at the current time; if the solar azimuthal angle isdetermined to be between the critical angles of the tintable window, thetint level determined also based on a calculation of sunlightpenetration into a room having the tintable window and a calculation ofclear sky irradiance at the current time.
 4. The method of controllingtint of the tintable window of claim 3, further comprising determiningwhether a sensor reading is between a lower limit and an upper limit; ifthe sensor is determined to be not between the lower limit and the upperlimit, then the tint level is determined also based on the sensorreading.
 5. (canceled)
 6. The method of controlling tint of the tintablewindow of claim 1, wherein the weather condition is a cloudy conditionif it is determined that the cloud coverage percentage is above athreshold, and wherein the weather condition is a not cloudy conditionif it is determined that the cloud coverage percentage is at or belowthe threshold.
 7. The method of controlling tint of the tintable windowof claim 6, wherein if determined to be the cloudy condition, the tintlevel is determined also based on a calculation of clear sky irradianceat the current time; and if determined to be the not cloudy condition,the tint level is clear and the tint command is to clear the tintablewindow.
 8. (canceled)
 9. A method of controlling tint of a tintablewindow to account for occupancy comfort in a building with the tintablewindow, the method comprising: if a current time is before a sunrisetime or after a time delay after a sunrise time, then determiningwhether a light sensor reading is between a lower limit and an upperlimit, and if the light sensor reading is between a lower limit and anupper limit, determining an end tint state based on sunlight penetrationand/or clear sky irradiance calculation, and if the light sensor readingis not between a lower limit and an upper limit, determining the endtint state based on the light sensor reading; and if the current time isafter the sunrise time and before the time delay after the sunrise timeor the tintable window is in a demo mode, determining whether it is acloudy condition or a not cloudy condition based on weather feed datareceived from one or more data sources over a communication network,wherein if it is determined to be the cloudy condition, then setting theend state to a clear state and wherein if it is determined to be the notcloudy condition, then determining the end state based on a predictedsunlight penetration and/or a clear sky prediction.
 10. The method ofcontrolling tint of the tintable window of claim 9, wherein determiningwhether it is the cloudy condition or the not cloudy condition based onthe weather feed data from the one or more data sources comprises:receiving the weather feed data with a cloud coverage percentage fromthe one or more data sources; determining the cloudy condition if thecloud cover percentage is greater than a threshold cloud coverage level;and determining the not cloudy condition if the cloud coveragepercentage is less than the threshold cloud coverage level.
 11. Themethod of controlling tint of the tintable window of claim 9, whereindetermining whether it is the cloudy condition or the not cloudycondition based on the weather feed data from the one or more datasources comprises: applying a filter to the weather feed data receivedfrom the one or more data sources; and determining that it is a cloudycondition or a not cloudy condition based on the filtered weather feeddata.
 12. The method of controlling tint of the tintable window of claim9, wherein determining whether it is the cloudy condition or the notcloudy condition based on the weather feed data from the one or moredata sources further comprises: sending a signal with a request for theweather feed data to each of the one or more data sources over acommunication network; and receiving the weather feed data from the oneor more data sources.
 13. The method of controlling tint of the tintablewindow of claim 11, wherein determining whether it is the cloudycondition or the not cloudy condition based on the weather feed datafrom the one or more data sources further comprises: determining thecloudy condition if a cloud cover percentage from the weather feed datais greater than a threshold cloud coverage level; and determining thenot cloudy condition if the cloud coverage percentage from the weatherfeed data is less than the threshold cloud coverage level.
 14. Themethod of controlling tint of the tintable window of claim 11, whereinapplying the filter to the weather feed data received from the one ormore data sources comprises: selecting one or more of the one or moredata sources based on a prioritized list of data sources; and usingweather feed data from the selected one or more data sources todetermine the filtered weather feed.
 15. The method of controlling tintof the tintable window of claim 11, wherein applying a filter to theweather feed data received from the one or more data sources comprises:combining the weather feed data from the one or more data sources todetermine the filtered weather feed.
 16. (canceled)
 17. The method ofcontrolling tint of the tintable window of claim 9, further comprisingdetermining the sunrise time based on a longitude and latitude of thelocation of the tintable window.
 18. The method of controlling tint ofthe tintable window of claim 17, further comprising determining whetherthe current time is after the sunrise time and before the time delayafter the sunrise time.
 19. The method of controlling tint of thetintable window of claim 9, wherein determining the end tint state basedon sunlight penetration and/or clear sky irradiance prediction,comprises: calculating the sun azimuth at the current time based onlatitude and longitude of the location of the tintable window;determining whether the calculated sun azimuth is between criticalangles; if the calculated sun azimuth is outside the critical angles,determining the end state based on the clear sky irradiance prediction;and if the calculated sun azimuth is between the critical angles,determining a first tint level based on sunlight penetration and asecond tint level based on a clear sky prediction, and determining theend tint state based on the greater of the first tint level and thesecond tint level.
 20. (canceled)
 21. The method of controlling tint ofthe tintable window of claim 9, further comprising: sending a signalwith tint instructions to transition the tint of the tintable window tothe end tint state.
 22. A controller for controlling tint of a tintablewindow to account for occupancy comfort in a building having thetintable window, the controller comprising: an interface with acommunication network; and a processor in communication with theinterface, the processor configured to execute instructions to:determine whether a current time is before a sunrise time or after atime delay after the sunrise time, if the current time is determined tobe before the sunrise time or after the time delay after the sunrisetime, the processor determines whether a light sensor reading receivedfrom a light sensor is between a lower limit and an upper limit, whereinif the light sensor reading is between a lower limit and an upper limit,the processor determines an end tint state based on direct sunlightpenetration and/or clear sky prediction, and if the light sensor readingis not between a lower limit and an upper limit, the processordetermines the end tint state based on the light sensor reading, and ifthe current time is determined to be after the sunrise time and beforethe time delay after the sunrise time or the tintable window is in ademo mode, the processor determines whether it is a cloudy condition ora not cloudy condition based on weather feed data received from one ormore data sources over the communication network, wherein the processordetermines it to be the cloudy condition, the processor sets the endstate to a clear state and wherein if the processor determines it to bethe not cloudy condition, then the processor determines the end statebased on a predicted sunlight penetration and/or a clear sky prediction.23. The controller of claim 22, further comprising a pulse widthmodulator in communication with the processor and with the tintablewindow, the pulse width modulator configured to: receive the end tintstate from the processor; and send a signal with tint instructions totransition the tint of the tintable window to the end tint state. 24.The controller of claim 22, wherein the processor is configured todetermine whether it is the cloudy condition or the not cloudy conditionbased on the weather feed data from the one or more data sources bybeing configured to: receiving the weather feed data with a cloudcoverage percentage from the one or more data sources; determining thecloudy condition if the cloud cover percentage is greater than athreshold cloud coverage level; and determining the not cloudy conditionif the cloud coverage percentage is less than the threshold cloudcoverage level.
 25. The controller of claim 22, wherein the processor isconfigured to determine whether it is the cloudy condition or the notcloudy condition based on the weather feed data from the one or moredata sources by being configured to: apply a filter to the weather feeddata received from the one or more data sources; and determine that itis a cloudy condition or a not cloudy condition based on the filteredweather feed data.
 26. The controller of claim 22, wherein the processoris configured to determine whether it is the cloudy condition or the notcloudy condition based on the weather feed data from the one or moredata sources further by being configured to: send a signal with arequest for the weather feed data to each of the one or more datasources over a communication network; and receive the weather feed datafrom the one or more data sources.
 27. The controller of claim 26,wherein the processor is configured to determine whether it is thecloudy condition or the not cloudy condition based on the weather feeddata from the one or more data sources by being further configured to:determine the cloudy condition if a cloud cover percentage from theweather feed data is greater than a threshold cloud coverage level; anddetermine the not cloudy condition if the cloud coverage percentage fromthe weather feed data is less than the threshold cloud coverage level.28. The controller of claim 25, wherein the processor is configured toapply the filter to the weather feed data received from the one or moredata sources by being configured to: select one or more of the one ormore data sources based on a prioritized list of data sources; and useweather feed data from the selected one or more data sources todetermine the filtered weather feed.
 29. The controller of claim 25,wherein the processor is configured to apply the filter to the weatherfeed data received from the one or more data sources by being configuredto: combine the weather feed data from the one or more data sources todetermine the filtered weather feed.
 30. (canceled)
 31. The controllerof claim 22, wherein the processor is further configured to determinethe sunrise time based on a longitude and latitude of the location ofthe tintable window.
 32. The controller of claim 31, wherein theprocessor is further configured to determine whether the current time isafter the sunrise time and before the time delay after the sunrise time.33. The controller of claim 22, wherein the processor is configured todetermine the end tint state based on sunlight penetration and/or clearsky irradiance prediction, by being configured to: calculate the sunazimuth at the current time based on latitude and longitude of thelocation of the tintable window; determine whether the calculated sunazimuth is between critical angles; if the calculated sun azimuth isoutside the critical angles, determine the end state based on the clearsky irradiance prediction; and if the calculated sun azimuth is betweenthe critical angles, determine a first tint level based on sunlightpenetration and a second tint level based on a clear sky prediction, anddetermining the end tint state based on the greater of the first tintlevel and the second tint level.
 34. (canceled)